MySQL创建表高级联结

使用表的别名

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;

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_37335220/article/details/112402243