什么是子查询

子查询是一条循环中嵌套着一条查询,类似于递归。

子查询基本语法

查询学生表中成绩高于85分的学生信息:

1
2
select * from student where id = (select stuid from score where score >= 85)
# 注意:查询条件表达式处用=时,只能接受子查询中返回一条记录

子查询常用关键字

  1. in和not in
1
select * from student where id [not] in(select stuid from score where score >= 85)
  1. exists和not exists
1
select * from studnet where id [not] exists(select stuid from scre where score >= 85)