student表数据:
id | name |
---|---|
34 | name |
22 | golitter |
66 | kerwin |
123 | yh |
12 | golemon |
score表数据:
id | score |
---|---|
34 | 80 |
22 | 98 |
66 | 33 |
45 | 100 |
内连接
1、内连接:俗称左右拼接连接;
2、内连接特点:满足连接条件的才会出现在结果里面;
SELECT 查询字段 FROM 表1 [INNER] JOIN 表2 ON 表1.关系字段=表2.关系字段;(等值连接)
SELECT 查询字段 FROM 表1 [INNER] JOIN 表2 ON 表1.关系字段=表2.关系字段;
-- 也可写成where条件形式:
SELECT 查询字段 FROM 表1,表2 WHERE 表1.关系字段=表2.关系字段;
注意点:
(1)内连接的表必须是要有关系的表(即具有相同意义字段的表)
(2)当查询的字段同时出现在连接的表当中,必须明确说明是那个表里的字段,不然会出现错误;
SELECT * FROM student INNER JOIN score;
SELECT * FROM student, score;
外连接
外连接分为三种:左外连接,右外连接,全外连接。对应SQL:LEFT/RIGHT/FULL OUTER JOIN。
- 左连接
SELECT * FROM student LEFT OUTER JOIN score
ON student.id = score.id;
- 右连接
SELECT * FROM student RIGHT OUTER JOIN score
ON student.id = score.id;
- 全连接
SELECT * FROM student FULL OUTER JOIN score
ON student.id = score.id;
Mysql 不支持FULL OUTER JOIN
这个操作,可以用UNION
来实现全连接操作。
图示更加清晰地感觉是SQL语法——内连接、外连接(左外连接、右外连接、全外链接) - 墨天轮 (modb.pro)这篇文章。
SQL连接的理解和使用(内连接:自然连接&等值连接,外连接:左连接&右连接&全外连接)_sql自然连接_海蒂°的博客-CSDN博客
查询数据 - 廖雪峰的官方网站 (liaoxuefeng.com)
SQL语法——内连接、外连接(左外连接、右外连接、全外链接) - 墨天轮 (modb.pro)
(1条消息) SQL的内外连接方式_sql内连接_just Liu的博客-CSDN博客