有coder、department两张表
coder表
department表
内连接
内连接最常用定义:连接结果仅包含符合连接条件的行组合起来作为结果集,参与连接的两个表都应该符合连接条件使用关键词:INNER JOIN 连接多张表
也就是返回两个表的交集(阴影)部分,如下图所示:
如下sql查询语句,查询所有分配了部门信息的coder信息
SELECT "co".*, "de".*
FROM "coder" AS co INNER JOIN
"department" AS de
ON co.department_id = de.department_id
也就是部门id在coder表,和部门表都存在行符合条件数据才展示
内连接查询结果
外连接
左连接
左(外)连接,左表的记录将会全部表示出来,而右表只会显示符合搜索条件的记录。右表记录不足的地方均为NULL,如下图所示:
如下sql查询语句,查询所有coder信息(包含部门信息)
SELECT "co".*, "de".*
FROM "coder" AS co LEFT JOIN
"department" AS de
ON co.department_id = de.department_id
结果如下:
左连接结果
右连接
右(外)连接,右表的记录将会全部表示出来,而左表只会显示符合搜索条件的记录。左表记录不足的地方均为NULL,如下图所示:
如下sql查询语句,查询部门所有coder的信息
SELECT "co".*, "de".*
FROM "coder" AS co RIGHT JOIN
"department" AS de
ON co.department_id = de.department_id
结果如下:
右连接结果图