MySQL子查詢巢狀查詢

2021-12-30 06:53:54 字數 1859 閱讀 7862

有三張表分別如下:

customers: 儲存顧客資訊

orderitems:只儲存訂單資訊,無客戶資訊

orders:儲存訂單號和顧客id

注意:一般在子查詢中,程式先執行在巢狀在最內層的語句,再執行外層。因此在寫子查詢語句時,可以先測試下內層的子查詢語句是否輸出了想要的內容,再一層層往外測試,增加子查詢正確率。否則多層的巢狀使語句可讀性很低。

子查詢訓練:

訓練1:

查詢買了商品為』tnt2』的顧客資訊

子查詢中涉及3張表的訂單。因此分三步,1. 在orderitems裡找出tnt2的訂單號;2. 在orders裡找出第一步找出的訂單號對應的客戶id;3. 在customers中找出第二步對應客戶的所有資訊。

1. 在orderitems裡找出tnt2的訂單號

2. 在orders裡找出第一步找出的訂單號對應的客戶id

3. 在customers中找出第二步對應客戶的所有資訊

這樣就得到結果啦~

子查詢一般與in操作符結合使用,也可用=>等。

另外,子查詢還可以用於計算字段。

訓練2:

如,想要查詢每個客戶的訂單數

分步思考:1. 查詢某個客戶的訂單數;2. 某個客戶改為所有客戶。

1. 查詢某個客戶的訂單數

2. 某個客戶改為所有客戶

MySQL子查詢 巢狀查詢

有三張表分別如下 customers 儲存顧客資訊 orderitems 只儲存訂單資訊,無客戶資訊 orders 儲存訂單號和顧客id 子查詢訓練 訓練1 查詢買了商品為 tnt2 的顧客資訊 子查詢中涉及3張表的訂單。因此分三步,1.在orderitems裡找出tnt2的訂單號 2.在order...

MySQL子查詢 巢狀查詢

子查詢 巢狀在其他查詢中的查詢。有三張表分別如下 customers 儲存顧客資訊 orderitems 只儲存訂單資訊,無客戶資訊 orders 儲存訂單號和顧客id 注意 一般在子查詢中,程式先執行在巢狀在最內層的語句,再執行外層。因此在寫子查詢語句時,可以先測試下內層的子查詢語句是否輸出了想要...

mysql求和 子查詢 MySQL子查詢

到現在為止,我們已經表明,以select宣告是乙個簡單的查詢。該單個語句從單個資料庫表中檢索資料。sql還同意建立乙個子查詢。即巢狀在其他查詢的查詢。下列實施例給出巢狀查詢。一種表示訂單資訊儲存,包含訂單號,客戶id。訂購日期。例如以下所看到的 一張表示儲存訂單物品資訊,例如以下 另一張表儲存的是客...