首頁 > 資料庫 > mysql教程 > 我們如何將子查詢轉換為左連接?

我們如何將子查詢轉換為左連接?

王林
發布: 2023-08-22 21:57:06
轉載
1560 人瀏覽過

我們如何將子查詢轉換為左連接?

為了使其理解,我們正在使用以下表中的資料−

mysql> Select * from customers;
+-------------+----------+
| Customer_Id | Name     |
+-------------+----------+
| 1           | Rahul    |
| 2           | Yashpal  |
| 3           | Gaurav   |
| 4           | Virender |
+-------------+----------+
4 rows in set (0.00 sec)

mysql> Select * from reserve;
+------+------------+
| ID   | Day        |
+------+------------+
| 1    | 2017-12-30 |
| 2    | 2017-12-28 |
| 2    | 2017-12-25 |
| 1    | 2017-12-24 |
| 3    | 2017-12-26 |
+------+------------+
5 rows in set (0.00 sec)
登入後複製

現在,以下是子查詢,將找到所有沒有預訂任何汽車的客戶的姓名。

mysql> Select Name from customers where customer_id NOT IN (Select id From reserve);
+----------+
| Name     |
+----------+
| Virender |
+----------+
1 row in set (0.00 sec)
登入後複製

現在,透過以下步驟,我們可以將上述子查詢轉換為RIGHT JOIN −

  • 將子查詢中命名為'Reserve'的表移到FROM子句,並使用LEFT JOIN將其與'Customers'表連接。
  • WHERE子句將customer_id欄位與子查詢傳回的ids進行比較。因此,將IN表達式轉換為FROM子句中兩個表的id列之間的明確直接比較。
  • 在WHERE子句中,限制輸出為在'Reserve'表中具有NULL值的行。
mysql> SELECT Name from customers LEFT JOIN reserve ON customer_id = Id WHERE Id IS NULL;
+----------+
| Name     |
+----------+
| Virender |
+----------+
1 row in set (0.00 sec)
登入後複製

以上是我們如何將子查詢轉換為左連接?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板