子查询

子查询 就是把其他的一个select查询 当成一个子表 然后对这个子表进一步查询。 也就是嵌套查询。

子查询最常用于SELECT语句。基本语法如下:

SELECT column_name [, column_name ] 
FROM   table1 [, table2 ] 
WHERE  column_name OPERATOR
      (SELECT column_name [, column_name ]
       FROM table1 [, table2 ]
       [WHERE])
Code language: CSS (css)

子查询 除了用在select,还可以用在update delete insert语句中,往往充当条件。

比如

INSERT INTO COMPANY_BKP
SELECT * FROM COMPANY
WHERE ID IN (SELECT ID
             FROM COMPANY)
UPDATE COMPANY
SET SALARY = SALARY * 0.50
WHERE AGE IN (SELECT AGE FROM COMPANY_BKP
              WHERE AGE >= 27 );
DELETE FROM COMPANY
WHERE AGE IN (SELECT AGE FROM COMPANY_BKP
              WHERE AGE >= 27 )
  1. 子查询要用小括号包裹起来,优先执行括号里面的SQL。
  2. 子查询可以放在WHERE条件、FROM后面(当作临时表)、INSERT里面。
  3. 子查询分为单行子查询、多行子查询,搭配IN=>等运算符使用。
  4. 注意:子查询如果返回多行结果,不能直接用=,要用IN
Previous:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注