日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL子查询操作实例详解

發布時間:2024/4/18 数据库 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL子查询操作实例详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文實例總結了MySQL子查詢操作。分享給大家供大家參考,具體如下:

定義兩個表tb1和tb2

?

1

2

CREATE table tbl1 ( num1 INT NOT NULL);

CREATE table tbl2 ( num2 INT NOT NULL);

向兩個表中插入數據:

?

1

2

INSERT INTO tbl1 values(1), (5), (13), (27);

INSERT INTO tbl2 values(6), (14), (11), (20);

any some關鍵字的子查詢

?

1

2

3

SELECT num1

FROM tbl1

WHERE num1 > ANY (SELECT num2 FROM tbl2);

all關鍵字的子查詢

?

1

2

3

SELECT num1

FROM tbl1

WHERE num1 > ALL (SELECT num2 FROM tbl2);

exists關鍵字的子查詢

?

1

2

3

4

5

6

7

8

9

10

11

SELECT * from fruits

WHERE EXISTS

(SELECT s_name FROM suppliers WHERE s_id = 107);

?

SELECT * from fruits

WHERE f_price>10.20 AND EXISTS

(SELECT s_name FROM suppliers WHERE s_id = 107);

?

SELECT * from fruits

WHERE NOT EXISTS

(SELECT s_name FROM suppliers WHERE s_id = 107);

帶in關鍵字的子查詢

?

1

2

3

4

5

6

7

SELECT c_id

FROM orders

WHERE o_num IN (SELECT o_num FROM orderitems WHERE f_id = 'c0');

?

SELECT c_id

FROM orders

WHERE o_num NOT IN (SELECT o_num FROM orderitems WHERE f_id = 'c0');

帶比較運算符的子查詢

?

1

2

3

SELECT s_id, f_name FROM fruits

WHERE s_id =

(SELECT s1.s_id from suppliers AS s1 WHERE s1.s_city = 'Tianjin');

<>所有非

?

1

2

3

SELECT s_id, f_name FROM fruits

WHERE s_id <>

(SELECT s1.s_id from suppliers AS s1 WHERE s1.s_city = 'Tianjin');

定義兩個表tb1和tb2

?

1

2

CREATE table tbl1 ( num1 INT NOT NULL);

CREATE table tbl2 ( num2 INT NOT NULL);

向兩個表中插入數據

?

1

2

INSERT INTO tbl1 values(1), (5), (13), (27);

INSERT INTO tbl2 values(6), (14), (11), (20);

【例.53】返回tbl2表的所有 num2 列,然后將 tbl1 中的 num1 的值與之進行比較,只要大于 num2的任何值為符合查詢條件的結果

?

1

2

3

SELECT num1

FROM tbl1

WHERE num1 > ANY (SELECT num2 FROM tbl2);

【例.54】返回tbl1表的中比tbl2表num2 列所有值都大的值

?

1

2

3

SELECT num1

FROM tbl1

WHERE num1 > ALL (SELECT num2 FROM tbl2);

【例.55】查詢表suppliers表中是否存在s_id=107的供應商,如果存在則查詢fruits表中的記錄

?

1

2

3

SELECT * from fruits

WHERE EXISTS

(SELECT s_name FROM suppliers WHERE s_id = 107);

【例.56】查詢表suppliers表中是否存在s_id=107的供應商,如果存在則查詢fruits表中的f_price大于10.20的記錄

?

1

2

3

SELECT * from fruits

WHERE f_price>10.20 AND EXISTS

(SELECT s_name FROM suppliers WHERE s_id = 107);

【例.57】查詢表suppliers表中是否存在s_id=107的供應商,如果不存在則查詢fruits表中的記錄

?

1

2

3

SELECT * from fruits

WHERE NOT EXISTS

(SELECT s_name FROM suppliers WHERE s_id = 107);

【例.58】在orderitems表中查詢訂購f_id為c0的訂單號,并根據訂單號查詢具有訂單號的客戶c_id

?

1

2

SELECT c_id FROM orders WHERE o_num IN

(SELECT o_num FROM orderitems WHERE f_id = 'c0');

【例.59】與前一個例子語句類似,但是在SELECT語句中使用NOT IN操作符

?

1

2

SELECT c_id FROM orders WHERE o_num NOT IN

(SELECT o_num FROM orderitems WHERE f_id = 'c0');

【例.60】在suppliers表中查詢s_city等于Tianjin的供應商s_id,然后在fruits表中查詢所有該供應商提供的水果的種類

?

1

2

3

SELECT s_id, f_name FROM fruits

WHERE s_id =

(SELECT s1.s_id from suppliers AS s1 WHERE s1.s_city = 'Tianjin');

【例.61】在suppliers表中查詢s_city等于Tianjin的供應商s_id,然后在fruits表中查詢所有非該供應商提供的水果的種類,SQL語句如下:

?

1

2

3

SELECT s_id, f_name FROM fruits

WHERE s_id <>

(SELECT s1.s_id from suppliers AS s1 WHERE s1.s_city = 'Tianjin');

更多關于MySQL相關內容感興趣的讀者可查看本站專題:《MySQL常用函數大匯總》、《MySQL日志操作技巧大全》、《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》及《MySQL數據庫鎖相關技巧匯總》

總結

以上是生活随笔為你收集整理的MySQL子查询操作实例详解的全部內容,希望文章能夠幫你解決所遇到的問題。

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