日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

mysql+sql+子查询语句_SQL子查询

發布時間:2025/3/20 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql+sql+子查询语句_SQL子查询 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

子查詢或內部查詢或嵌套查詢在另一個SQL查詢的查詢和嵌入式WHERE子句中。

子查詢用于返回將被用于在主查詢作為條件的數據,以進一步限制要檢索的數據。

子查詢可以在SELECT,INSERT,UPDATE使用,而且隨著運算符如DELETE語句 =, , >=, <=, IN, BETWEEN 等.

這里有一些規則,子查詢必須遵循:

子查詢必須被圓括號括起來。

子查詢只能在有一列的SELECT子句中,除非多個列中的子查詢,以比較其選定列主查詢。

ORDER BY不能在子查詢中使用,主查詢可以使用ORDER BY。GROUP BY可以用來在子查詢中如ORDER BY執行相同的功能。

返回多于一個行子查詢只能用于具有多個值運算符,如IN操作。

SELECT列表中不能包含到值計算到任何引用 BLOB, ARRAY, CLOB, 或NCLOB.

子查詢不能立即封閉在一組函數。

BETWEEN 操作符不能與子查詢使用;然而,操作符BETWEEN可以在子查詢中使用。

子查詢SELECT語句:

子查詢最頻繁使用的SELECT語句。其基本語法如下:

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|+----+----------+-----+-----------+----------+

現在,讓我們檢查下使用子查詢SELECT語句:

SQL>SELECT*FROM CUSTOMERS

WHERE ID IN(SELECT ID

FROM CUSTOMERS

WHERE SALARY>4500);

這將產生以下結果:

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

子查詢的INSERT語句:

子查詢,也可以使用INSERT語句。INSERT語句使用從子查詢返回的數據插入到另一個表中。在子查詢中的所選擇的數據可以與任何類型的字符,日期或數字函數進行修改。

其基本語法如下:

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

示例:

考慮CUSTOMERS_BKP表的結構相似于CUSTOMERS表。考慮CUSTOMERS_BKP表的結構相似于CUSTOMERS表。

SQL>INSERT INTO CUSTOMERS_BKP

SELECT*FROM CUSTOMERS

WHERE ID IN(SELECT ID

FROM CUSTOMERS);

子查詢的UPDATE語句:

子查詢可以與UPDATE語句一起使用。單個或多個表中的列可以使用帶有UPDATE語句子查詢時被更新。

其基本語法如下:

UPDATE table

SET column_name=new_value[WHERE OPERATOR[VALUE](SELECT COLUMN_NAME

FROM TABLE_NAME)[WHERE)]

示例:

假設,我們的CUSTOMERS_BKP表是CUSTOMERS表的備份。

下面的例子是在CUSTOMERS表更新0.25倍薪水,其年齡大于或等于27所有的客戶:

SQL>UPDATE CUSTOMERS

SET SALARY=SALARY*0.25WHERE AGE IN(SELECT AGE FROM CUSTOMERS_BKP

WHERE AGE>=27);

這將影響到兩行,最后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語句:

子查詢可配合使用像上述的任何其他語句DELETE語句。

其基本語法如下:

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

FROM TABLE_NAME)[WHERE)]

示例:

假設,我們的CUSTOMERS_BKP表是CUSTOMERS表的備份。

下面的示例將刪除CUSTOMERS表記錄其年齡大于或等于27所有的客戶:

SQL>DELETE FROM CUSTOMERS

WHERE AGE IN(SELECT AGE FROM CUSTOMERS_BKP

WHERE AGE>27);

這將影響到兩行,最后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|+----+----------+-----+---------+----------+

¥ 我要打賞

糾錯/補充

收藏

上一篇:

加QQ群啦,易百教程官方技術學習群

注意:建議每個人選自己的技術方向加群,同一個QQ最多限加 3 個群。

總結

以上是生活随笔為你收集整理的mysql+sql+子查询语句_SQL子查询的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。