1. 程式人生 > 其它 >MySQL建立表高階聯結

MySQL建立表高階聯結

技術標籤:MySQLmysql表高階聯結

使用表的別名

SELECT * FROM customers C, orders O, orderitems OI WHERE C.cust_id = O.cust_id AND OI.order_num = O.order_num AND prod_id = 'RGAN01';

在這裡插入圖片描述

自聯結

SELECT * FROM customers c1, customers c2 WHERE c1.cust_name = c2.cust_name AND c2.cust_contact = 'Jim Jones';

在這裡插入圖片描述

自然聯結

SELECT c.*, o.
order_num, o.order_date FROM customers c, orders o, orderitems oi WHERE c.cust_id = o.cust_id AND oi.order_num = o.order_num AND prod_id = 'RGAN01';

在這裡插入圖片描述

外聯結

SELECT * FROM customers LEFT OUTER JOIN orders ON customers.cust_id = orders.cust_id;

在這裡插入圖片描述

SELECT * FROM customers RIGHT OUTER JOIN orders ON customers.
cust_id = orders.cust_id;

在這裡插入圖片描述

使用帶聚集函式的聯結

SELECT customers.cust_id, COUNT(orders.order_num) AS num_ord FROM customers INNER JOIN orders ON customers.cust_id = orders.cust_id GROUP BY customers.cust_id;

在這裡插入圖片描述

SELECT customers.cust_id, COUNT(orders.order_num) AS num_ord FROM customers LEFT JOIN orders ON customers.
cust_id = orders.cust_id GROUP BY customers.cust_id;

在這裡插入圖片描述