mysql之子查询 缺乏、安全感 2021-06-24 15:59 391阅读 0赞 子查询:指的是一个sql语句中有多个select(关键字) 子查询一般出现的位置: (1)、WHERE 后作为条件存在 (2)、FROM 后作为表存在(多行多列) 1、WHERE 后条件存在 (1)、单行单列 SELECT \* FROM 表1 别名1 WHERE 列1 \[=,>,<.<=,>=,!=\] (SELECT 列 FROM 表2 别名2 WHERE 条件); 例如:查询工资大于平均工资的员工 SELECT \* FROM emp WHERE sal > (SELECT AVG(sal)FROM emp); (2)、多行多列 SELECT \* FROM 表1 别名1 WHERE 列1 \[IN、ALL、ANY\] (SELECT 列 FROM 表2 别名2 WHERE 条件); 例如:查询大于所有30部门员工的工资的员工 SELECT \* FROM emp WHERE sal > (SELECT sal FROM emp WHERE depto=30); (3)、单行多列 SELECT \* FROM 表1 别名1 WHERE (列1、列2....)IN (SELECT 列1,列2.... FROM 表2 列名2 WHERE 条件); 例如:查询工作,部门与张三的工作相同的员工 SELECT \* FROM emp WHERE (job,dept) IN (SELECT job,dept FROM emp WHERE ename='张三'); (4)、多行多列 SELECT \* FROM 表1 别名1 (SELECT ......) 别名2 WHERE 条件;
还没有评论,来说两句吧...