MySQL建立表高階聯結
阿新 • • 發佈:2021-01-10
使用表的別名
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;