select 查询列表 from 表1 别名 [连接类型] join 表2 别名 on 连接条件 [where 筛选条件] [group by 分组] [having 筛选条件] [order by 排序列表]
内连接:inner 外连接: 左外:left [outer] 右外:right [outer] 全外:full [outer] 交叉连接:cross
from 表1 表别名 inner join 表2 表别名 on 连接条件
SELECT s.s_name, c.classname, s.s_id FROM student s INNER JOIN class c ON s.class_id = c.classid WHERE c.classname = 'A班' ORDER BY s.s_id ASC;主表有,从表没有,展示主表所有记录 如果从表中有和它匹配的,则显示匹配的值 如果从表没有和它匹配的值,则显示null 左外连接,left join 左边的是主表 右外连接,right join右边的是主表
select 列名 from 表1 表别名 left join 表2 表别名 on 连接条件
SELECT c.classname,s.s_name FROM class c LEFT JOIN student s ON c.classid = s.class_id;select 列名 from 表1 表别名 right join 表2 表别名 on 连接条件
SELECT c.classname,s.s_name FROM student s RIGHT JOIN class c ON s.class_id = c.classid;select 列名 from 表1 表别名 full outer join 表2 表别名 on 连接条件
SELECT 列名 from 表1 表别名 cross join 表2 表别名
SELECT s.s_name,c.classname FROM student s CROSS JOIN class c;