日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

中國(guó)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2

sql教程

SQL 教程

SQL 高級(jí)教程

SQL 函數(shù)

  • SQL 主機(jī)
  • SQL 總結(jié)
  • 實(shí)例/測(cè)驗(yàn)

    拓展閱讀

    SQL 子查詢

    閱讀 (2392)

    SQL 子查詢

    子查詢(Sub Query)或者說(shuō)內(nèi)查詢(Inner Query),也可以稱作嵌套查詢(Nested Query),是一種嵌套在其他 SQL 查詢的 WHERE 子句中的查詢。

    子查詢用于為主查詢返回其所需數(shù)據(jù),或者對(duì)檢索數(shù)據(jù)進(jìn)行進(jìn)一步的限制。

    子查詢可以在 SELECT、INSERT、UPDATE 和 DELETE 語(yǔ)句中,同 =、<、>、>=、<=、IN、BETWEEN 等運(yùn)算符一起使用。

    使用子查詢必須遵循以下幾個(gè)規(guī)則:

    • 子查詢必須括在圓括號(hào)中。
    • 子查詢的 SELECT 子句中只能有一個(gè)列,除非主查詢中有多個(gè)列,用于與子查詢選中的列相比較。
    • 子查詢不能使用 ORDER BY,不過(guò)主查詢可以。在子查詢中,GROUP BY 可以起到同 ORDER BY 相同的作用。
    • 返回多行數(shù)據(jù)的子查詢只能同多值操作符一起使用,比如 IN 操作符。
    • SELECT 列表中不能包含任何對(duì) BLOB、ARRAY、CLOB 或者 NCLOB 類型值的引用。
    • 子查詢不能直接用在集合函數(shù)中。
    • BETWEEN 操作符不能同子查詢一起使用,但是 BETWEEN 操作符可以用在子查詢中。

    SELECT 語(yǔ)句中的子查詢

    通常情況下子查詢都與 SELECT 語(yǔ)句一起使用,其基本語(yǔ)法如下所示:

    SELECT column_name [, column_name ]
    FROM   table1 [, table2 ]
    WHERE  column_name OPERATOR
          (SELECT column_name [, column_name ]
          FROM table1 [, table2 ]
          [WHERE])

    示例:

    考慮 CUSTOMERS 表,表中記錄如下所示:

    +----+----------+-----+-----------+----------+
    | ID | NAME     | AGE | ADDRESS   | SALARY   |
    +----+----------+-----+-----------+----------+
    |  1 | Ramesh   |  35 | Ahmedabad |  2000.00 |
    |  2 | Khilan   |  25 | Delhi     |  1500.00 |
    |  3 | kaushik  |  23 | Kota      |  2000.00 |
    |  4 | Chaitali |  25 | Mumbai    |  6500.00 |
    |  5 | Hardik   |  27 | Bhopal    |  8500.00 |
    |  6 | Komal    |  22 | MP        |  4500.00 |
    |  7 | Muffy    |  24 | Indore    | 10000.00 |
    +----+----------+-----+-----------+----------+

    現(xiàn)在,讓我們?cè)囈幌略?SELECT 語(yǔ)句中進(jìn)行子查詢:

    SQL> SELECT * 
         FROM CUSTOMERS 
         WHERE ID IN (SELECT ID 
                      FROM CUSTOMERS 
                      WHERE SALARY > 4500) ;

    上述語(yǔ)句的執(zhí)行結(jié)果如下所示:

    +----+----------+-----+---------+----------+
    | ID | NAME     | AGE | ADDRESS | SALARY   |
    +----+----------+-----+---------+----------+
    |  4 | Chaitali |  25 | Mumbai  |  6500.00 |
    |  5 | Hardik   |  27 | Bhopal  |  8500.00 |
    |  7 | Muffy    |  24 | Indore  | 10000.00 |
    +----+----------+-----+---------+----------+

    INSERT 語(yǔ)句中的子查詢:

    子查詢還可以用在 INSERT 語(yǔ)句中。INSERT 語(yǔ)句可以將子查詢返回的數(shù)據(jù)插入到其他表中。子查詢中選取的數(shù)據(jù)可以被任何字符、日期或者數(shù)值函數(shù)所修飾。

    其基本語(yǔ)法如下所示:

    INSERT INTO table_name [ (column1 [, column2 ]) ]
               SELECT [ *|column1 [, column2 ]
               FROM table1 [, table2 ]
               [ WHERE VALUE OPERATOR ]

    示例:

    考慮與 CUSTOMERS 表?yè)碛邢嗨平Y(jié)構(gòu)的 CUSTOMERS_BKP 表。現(xiàn)在要將 CUSTOMER 表中所有的數(shù)據(jù)復(fù)制到 CUSTOMERS_BKP 表中,代碼如下:

    SQL> INSERT INTO CUSTOMERS_BKP
         SELECT * FROM CUSTOMERS 
         WHERE ID IN (SELECT ID 
                      FROM CUSTOMERS) ;

    UPDATE 語(yǔ)句中的子查詢:

    子查詢可以用在 UPDATE 語(yǔ)句中。當(dāng)子查詢同 UPDATE 一起使用的時(shí)候,既可以更新單個(gè)列,也可更新多個(gè)列。

    其基本語(yǔ)法如下:

    UPDATE table
    SET column_name = new_value
    [ WHERE OPERATOR [ VALUE ]
       (SELECT COLUMN_NAME
       FROM TABLE_NAME)
       [ WHERE) ]

    示例:

    假設(shè)我們有一份 CUSTOMERS_BKP 表作為 CUSTOMERS 表的備份。

    下面的示例將 CUSTOMERS 表中所有 AGE 大于或者等于 27 的客戶的 SALARY 字段都變?yōu)榱嗽瓉?lái)的 0.25 倍:

    SQL> UPDATE CUSTOMERS
         SET SALARY = SALARY * 0.25
         WHERE AGE IN (SELECT AGE FROM CUSTOMERS_BKP
                       WHERE AGE >= 27 );

    這將影響兩行數(shù)據(jù),隨后 CUSTOMERS 表中的記錄將如下所示:

    +----+----------+-----+-----------+----------+
    | ID | NAME     | AGE | ADDRESS   | SALARY   |
    +----+----------+-----+-----------+----------+
    |  1 | Ramesh   |  35 | Ahmedabad |   125.00 |
    |  2 | Khilan   |  25 | Delhi     |  1500.00 |
    |  3 | kaushik  |  23 | Kota      |  2000.00 |
    |  4 | Chaitali |  25 | Mumbai    |  6500.00 |
    |  5 | Hardik   |  27 | Bhopal    |  2125.00 |
    |  6 | Komal    |  22 | MP        |  4500.00 |
    |  7 | Muffy    |  24 | Indore    | 10000.00 |
    +----+----------+-----+-----------+----------+

    DELETE 語(yǔ)句中的子查詢:

    如同前面提到的其他語(yǔ)句一樣,子查詢還可以同 DELETE 語(yǔ)句一起使用。

    其基本語(yǔ)法如下所示:

    DELETE FROM TABLE_NAME
    [ WHERE OPERATOR [ VALUE ]
       (SELECT COLUMN_NAME
       FROM TABLE_NAME)
       [ WHERE) ]

    示例:

    假設(shè)我們有一份 CUSTOMERS_BKP 表作為 CUSTOMERS 表的備份。

    下面的示例將從 CUSTOMERS 表中刪除所有 AGE 大于或者等于 27 的記錄:

    SQL> DELETE FROM CUSTOMERS
         WHERE AGE IN (SELECT AGE FROM CUSTOMERS_BKP
                       WHERE AGE > 27 );

    這將影響兩行數(shù)據(jù),隨后 CUSTOMERS 表中的記錄將如下所示:

    +----+----------+-----+---------+----------+
    | ID | NAME     | AGE | ADDRESS | SALARY   |
    +----+----------+-----+---------+----------+
    |  2 | Khilan   |  25 | Delhi   |  1500.00 |
    |  3 | kaushik  |  23 | Kota    |  2000.00 |
    |  4 | Chaitali |  25 | Mumbai  |  6500.00 |
    |  6 | Komal    |  22 | MP      |  4500.00 |
    |  7 | Muffy    |  24 | Indore  | 10000.00 |
    +----+----------+-----+---------+----------+
    關(guān)閉
    程序員人生
    主站蜘蛛池模板: 亚洲视频在线观看免费 | 亚洲天堂电影网 | 国产精品成人av | 久久久久久久久久国产精品 | 久久久久无码国产精品一区 | 精品久久久久久久久久久久久久久久久 | 国产精品久久久久7777色妞 | 天天草比 | 欧美激情xxxxx | 一本色道精品久久一区二区三区 | 日产精品久久久 | 国产在线视频一区 | 91嫩操 | 日韩精品视频国产 | 国产精品国产三级国产a | 宅男天堂| 国产伦精品一区二区三区免费 | 天天射夜夜操 | 日韩精品在线免费观看 | 日韩成人av在线 | 国产精品久久久久久久久久98 | 亚洲成人一区在线观看 | 国产精品乱码一区二区三区 | 岛国大片在线 | 国产区一区二区三区 | 99久精品| 免费黄色a级毛片 | 三级av在线 | 91精品黄色 | 欧美亚洲专区 | 亚洲精品国产视频 | 欧美日韩成人在线视频 | 日韩免费视频观看 | 美日韩免费视频 | av中文字幕一区 | 噜噜av| 日韩一区二区三区免费视频 | 国产色播视频 | 在线一区二区三区四区 | 国产一区二区免费播放 | 国产一区二区自拍 |