Sql命令 JOIN关键字

it2026-02-23  6

JOIN…ON 连接方式: ON表示两表的关联条件

左连接(LEFT JOIN):查询时以左边为源表与右表进行匹配查询,左包含即左表有但右表没有的数据。

select t1.stuName,score from t_stu t1 LEFT JOIN t_score t2 ON t1.stuId=t2.stuId

右链接 (RIGHT JOIN):查询时以右表为源表与左表进行匹配查询,右包含。

select t1.stuName,score from t_stu t1 RIGHT JOIN t_score t2 on t1.stuId=t2.stuId

内连接(INNER JOIN):获取两个表的交集,即同时在聊表中都存在的数据

select t1.stuName,score from t_stu t1 INNER JOIN t_score t2 on t1.stuId=t2.stuId

关于全连接 FULL JOIN: ORICLE 支持,但 MYSQL 不支持,全连接是指将两表的全部数据拼接起来,包含 NULL ,MYSQL 中可以用 UNION 代替。

# ORICLE select t1.stuName,score from t_stu t1 FULL JOIN t_score t2 ON t1.stuId=t2.stuId # MYSQL select t1.stuName,score from t_stu t1 LEFT JOIN t_score t2 ON t1.stuId=t2.stuId UNION select t1.stuName,score from t_stu t1 RIGHT JOIN t_score t2 ON t1.stuId=t2.stuId

UNION 与 UNION ALL 的区别:

UNION :关键字的查询结果不包含重复项且按照默认规则进行排序UNION ALL :查询结果包含重复项,且不进行排序
最新回复(0)