SQL 子查询分类汇总

 
    子查询按返回结果集的不同分为4种:表子查询,行子查询,列子查询和标量子查询。

表子查询:返回的结果集是一个表集合,N行N列(N>=1)。表子查询经常用于父查询的FROM子句中。
行子查询:返回的结果集是一个表集合,一行N列(N>=1)。行子查询可以用于福查询的FROM子句和WHERE子句中。
列子查询:返回的结果集是一个表集合,N行一列(N>=1)。
标量子查询:返回的结果集是一个表集合,一行一列,也就是一个标量值。可以指定一个标量表达式的任何地方,都可以用一个标量子查询。

 

 

表子查询

 

 

 


SELECT studentNO , studentNAME
FROM (SELECT studentNO,sex,studentNAME
FROM student
WHERE age > 18) AS student18
WHERE sex='M'

 

 

 

如:行子查询

 


SELECT studentNO
FROM student
WHERE (sex,age) = (SELECT sex,age
FROM student
WHERE studentNO = 15
)

 

 

 

标量查询:

 

 


SELECT studentNO
FROM student
WHERE sex = (SELECT sex
FROM student
WHERE studentNO = 15
)

你可能感兴趣的:(sql)