Coursera 笔记

Module 06 · Bonus Module: Advanced SQL for Data Engineers

SQL Cheat Sheet: JOIN StatementsSQL 速查表:连接语句

Coursera ↗

Joins 连接

Topic   主题 Syntax   语法 Description   描述 Example   示例
Cross Join   笛卡尔积连接 SELECT column_name(s) FROM table1 CROSS JOIN table2; The CROSS JOIN is used to generate a paired combination of each row of the first table with each row of the second table.
CROSS JOIN 用于生成第一个表每一行与第二个表每一行的配对组合。
SELECT DEPT_ID_DEP, LOCT_ID FROM DEPARTMENTS CROSS JOIN LOCATIONS;
Inner Join   内连接 SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name; WHERE condition; You can use an inner join in a SELECT statement to retrieve only the rows that satisfy the join conditions on every specified table.
您可以在 SELECT 语句中使用 inner join 来检索仅满足每个指定表上连接条件的行。
select E.F_NAME,E.L_NAME, JH.START_DATE from EMPLOYEES as E INNER JOIN JOB_HISTORY as JH on E.EMP_ID=JH.EMPL_ID where E.DEP_ID ='5';
Left Outer Join   左外连接 SELECT column_name(s) FROM table1 LEFT OUTER JOIN table2 ON table1.column_name = table2.column_name WHERE condition; The LEFT OUTER JOIN will return all records from the left side table and the matching records from the right table.
LEFT OUTER JOIN 将返回左侧表的所有记录以及右侧表中匹配的记录。
select E.EMP_ID,E.L_NAME,E.DEP_ID,D.DEP_NAME from EMPLOYEES AS E LEFT OUTER JOIN DEPARTMENTS AS D ON E.DEP_ID=D.DEPT_ID_DEP;
Right Outer Join   右外连接 SELECT column_name(s) FROM table1 RIGHT OUTER JOIN table2 ON table1.column_name = table2.column_name WHERE condition; The RIGHT OUTER JOIN returns all records from the right table, and the matching records from the left table.
RIGHT OUTER JOIN 返回右表的所有记录,并返回左表中匹配的记录。
select E.EMP_ID,E.L_NAME,E.DEP_ID,D.DEP_NAME from EMPLOYEES AS E RIGHT OUTER JOIN DEPARTMENTS AS D ON E.DEP_ID=D.DEPT_ID_DEP;
Full Outer Join   全外连接 SELECT column_name(s) FROM table1 FULL OUTER JOIN table2 ON table1.column_name = table2.column_name WHERE condition; The FULL OUTER JOIN clause results in the inclusion of rows from two tables. If a value is missing when rows are joined, that value is null in the result table.
FULL OUTER JOIN 子句导致两个表中的行被包含。当行连接时如果某个值缺失,那么在结果表中该值为 null。
select E.F_NAME,E.L_NAME,D.DEP_NAME from EMPLOYEES AS E FULL OUTER JOIN DEPARTMENTS AS D ON E.DEP_ID=D.DEPT_ID_DEP;
Self Join   自连接 SELECT column_name(s) FROM table1 T1, table1 T2 WHERE condition; A self join is regular join but it can be used to joined with itself.
A self join 是常规连接,但它可以用来与自己连接。
SELECT B.* FROM EMPLOYEES A JOIN EMPLOYEES B ON A.MANAGER_ID = B.MANAGER_ID WHERE A.EMP_ID = 'E1001';

Joins in MySQL using phpMyAdmin 使用 phpMyAdmin 在 MySQL 中进行连接

Topic   主题 Syntax   语法 Description   描述 Example   示例
Full Outer Join   全外连接 SELECT column_name(s) FROM table1 LEFT OUTER JOIN table2 ON table1.column_name = table2.column_name WHERE condition

UNION
SELECT column_name(s)
FROM table1
RIGHT OUTER JOIN table2
ON table1.column_name = table2.column_name
WHERE condition
The UNION operator is used to combine the result-set of two or more SELECT statements.
UNION operator 用于组合两个或多个 SELECT 语句的结果集。
select E.F_NAME,E.L_NAME,D.DEP_NAME from EMPLOYEES AS E LEFT OUTER JOIN DEPARTMENTS AS D ON E.DEP_ID=D.DEPT_ID_DEP

UNION
select E.F_NAME,E.L_NAME,D.DEP_NAME
from EMPLOYEES AS E
RIGHT OUTER JOIN DEPARTMENTS AS D ON E.DEP_ID=D.DEPT_ID_DEP

Author(s) 作者

D.M Naidu