【SQL】MySQL学习笔记1-----子查询

1.什么叫子查询?

     通俗的讲就是查询中有查询,SQL语句中有多个select语句。

2.什么地方可以嵌入子查询?

     SELECT 列 (不在标准之内)

     FROM 表 (可以嵌入,作为表存在)

     WHERE 条件 (可以嵌入,作为条件存在)

3. 举例说明

    假如此时有一个员工表emp,里面记录了员工的编号、名字、工作、工资及所在部门编号等信息

    表结构如下:

      

     查询工资最高的员工的信息

          SELECT * FROM emp WHERE sal = (SELECT max(sal) FROM emp); // 此时子查询是嵌套在WHERE后面的。

     查询部门编号为30的员工的姓名和员工编号

          SELECT e.empno, e.ename FROM (SELECT * FROM emp WHERE deptno = 30)e;  //此时子查询是嵌入在FROM后面的,当时此处也可以使用where条件来实现    相同效果。

     查询工资大于39部门所有员工工资的员工信息

          SELECT * FROM emp WHERE sal > ALL (SELECT sal FROM emp WHERE deptno = 30);

     查询工资大于任一经理工资的员工信息

          SELECT * FROM emp WHERE sal > ANY (SELECT sal FROM emp WHERE job='经理');

   

 

posted @ 2015-06-03 23:32  grace_sister  阅读(433)  评论(0编辑  收藏  举报