子查询是查询内的查询,即嵌套查询。它放置在查询中,其结果用于进一步评估外部查询。
在SQL中,子查询必须遵循一些规则。其中一些是-
子查询应放在括号内。
子查询可以与不同的运算符(如<,>,<=,> =,IN,BETWEEN等)一起使用。还可以使用SELECT,INSERT,DELETE,UPDATE等运算符。
不能在子查询中使用ORDER BY运算符。但是,它可以在主查询中。
子查询不能使用BETWEEN运算符编写。但是子查询可以包含BETWEEN运算符。
返回多个行的子查询不能与所有运算符一起使用。它只能与接受多个值(例如IN)的运算符一起使用。
SQL中子查询的示例是-
<学生>
学生号码 | 学生姓名 | 学生电话 | 学生分数 |
---|---|---|---|
1 | 安德鲁 | 6615927284 | 95 |
2 | 萨拉 | 6583654865 | 65岁 |
3 | 哈里 | 4647567463 | 48 |
4 | 梅根 | 7554764844 | 88 |
5 | 约翰 | 3436446454 | 25 |
Select * from student where student_marks IN( select student_marks from student where student_marks>50)
该查询将返回有关所有得分超过50分的学生的详细信息,即Andrew,Sara和Megan。
学生号码 | 学生姓名 | 学生电话 | 学生分数 |
---|---|---|---|
1 | 安德鲁 | 6615927284 | 95 |
2 | 萨拉 | 6583654865 | 65岁 |
4 | 梅根 | 7554764844 | 88 |