mysql: join
Posted miaomiaotab
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql: join相关的知识,希望对你有一定的参考价值。
/*************** * join tables * ***************/ -- list all sales for FLEX and BLAZE; select * from product; select * from sales; -- what happens without a.product_id=b.product_id; -- use table alias; -- practice: list all transactions with Amazon; select s.*,c.* from sales s, client c where s.client_id = c.client_id and c.name = ‘Amazon‘; -- list all sales with msrp > 100 and quantity >= 10, or quality >= 100; ignore non-existing product_id in PRODUCT; -- ignore non-existing product_id in PRODUCT; select s.*,p.* from sales s, product p where s.product_id = p.product_id and ((p.msrp > 100 and s.quantity >= 10) or (s.quantity >= 100)); /*************** * Join * ***************/ -- show all transactions with shipping status; /* inner join */ select s.*,sh.* from sales s inner join shipping sh where s.tran_id = sh.tran_id; /* left join */ select s.*,sh.* from sales s left join shipping sh on s.tran_id = sh.tran_id; -- list all shipments with shipping status; show client_id and product_id if exists; /* right join */ select s.*,sh.* from sales s right join shipping sh on s.tran_id = sh.tran_id; -- list all shipping status with client_id and product_id; /* right join */ -- list all sales and shipping status in one table; -- list all transactions and shipping status in one table; /* full join */ -- select s.tran_id as trn_id, s.client_id, s.product_id, sh.status -- from shipping sh -- full join sales s -- on s.tran_id = sh.tran_id -- ; -- mysql doesn‘t support full join! /********************* * set operators * *********************/ -- union; select * from sales; select * from sales where tran_id > 1 union select * from sales where tran_id > 2; -- union all select * from sales; select * from sales where tran_id > 1 union all select * from sales where tran_id > 2;
以上是关于mysql: join的主要内容,如果未能解决你的问题,请参考以下文章