(+)
代表从表所在的位置。即左或右外连接
中,(+)
表示哪个是从表。Oracle
对 SQL92 支持较好,而 MySQL
则不支持 SQL92 的外连接。#左外连接
SELECT last_name,department_name
FROM employees,departments
WHERE employees.department_id = departments.department_id(+);
#右外连接
SELECT last_name,department_name
FROM employees ,departments
WHERE employees.department_id(+) = departments.department_id;
SELECT employee_id,department_name
FROM employees e,departments d
WHERE e.`department_id` = d.department_id;
JOIN...ON
子句创建连接的语法结构:JOIN ...ON
的方式实现多表的查询。这种方式也能解决外连接的问题。MySQL是支持此种方式的。 SELECT table1.column, table2.column,table3.column
FROM table1
JOIN table2 ON table1 和 table2 的连接条件
JOIN table3 ON table2 和 table3 的连接条件
SELECT last_name,department_name
FROM employees e INNER JOIN departments d
ON e.`department_id` = d.`department_id`;
SELECT last_name,department_name,city
FROM employees e JOIN departments d
ON e.`department_id` = d.`department_id`
JOIN locations l
ON d.`location_id` = l.`location_id`;
练习:查询所有的员工的last_name,department_name信息
SELECT last_name,department_name
FROM employees e LEFT JOIN departments d
ON e.`department_id` = d.`department_id`;
FULL OUTER JOIN
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。