第十章 再谈连接

1. 基本描述

  本章主要讲解各种连接方式。

2. 基本样例

SELECT account_id, cust_id FROM account;

SELECT cust_id FROM customer;

SELECT a.account_id unt_id, c.cust_id FROM account a INNER JOIN customer c ON
a.cust_id = c.cust_id;

SELECT a.account_id, b.cust_id, b.name FROM account a INNER JOIN business b 
ON a.cust_id = b.cust_id;

SELECT cust_id, name FROM business;

SELECT a.account_id, a.cust_id, b.name FROM
account a LEFT OUTER JOIN business b
ON a.cust_id = b.cust_id;

SELECT a.account_id, a.cust_id, i.fname, i.lname FROM
account a LEFT OUTER JOIN individual i ON a.cust_id = i.cust_id;

SELECT c.cust_id, b.name FROM customer c LEFT OUTER JOIN business b
ON c.cust_id = b.cust_id;

SELECT c.cust_id, b.name FROM customer c RIGHT OUTER JOIN business b
ON c.cust_id = b.cust_id;

SELECT a.account_id, a.product_cd, CONCAT(i.fname, " ", i.lname) person_name, b.name business_name
FROM account a LEFT OUTER JOIN individual i ON a.cust_id = i.cust_id LEFT OUTER JOIN business b
ON a.cust_id = b.cust_id;

SELECT e.fname, e.lname, e_mgr.fname mgr_fname, e_mgr.lname mgr_lname FROM employee
e INNER JOIN employee e_mgr ON e.superior_emp_id = e_mgr.emp_id;

SELECT e.fname, e.lname, e_mgr.fname mgr_fname, e_mgr.lname mgr_lname FROM
employee e LEFT OUTER JOIN employee e_mgr ON e.superior_emp_id = e_mgr.emp_id;

SELECT e.fname, e.lname, e_mgr.fname mgr_fname, e_mgr.lname mgr_lname FROM
employee e RIGHT OUTER JOIN employee e_mgr ON e.superior_emp_id = e_mgr.emp_id;

SELECT pt.name, p.product_cd, p.name FROM product p CROSS JOIN product_type pt;

SELECT a.account_id, a.cust_id, c.cust_type_cd, c.fed_id FROM account a NATURAL JOIN customer c;

SELECT a.account_id, a.cust_id, a.open_branch_id, b.name FROM account a NATURAL JOIN branch b;

猜你喜欢

转载自www.cnblogs.com/LuckPsyduck/p/11933824.html
今日推荐