admin 管理员组

文章数量: 1086019

关联查询(多表查询)

目录

关联查询(多表查询)

内连接

左[外]连接

右[外]连接


关联查询(多表查询)

多表查询规则:

        1)确定查询哪些表  

        2)确定哪些哪些字段  

        3)表与表之间连接条件

tb_student

 tb_score

内连接

内连接查询:只有满足条件的结果才会显示

SELECT id,name       -- 2)确定哪些哪些字段
FROM tb_student,tb_score         -- 1)确定查询哪些表
WHERE tb_score.sid=tb_student.id     -- 3)表与表之间连接条件--内连接的另一种语法
--使用别名
SELECT id,name          -- 2)确定哪些哪些字段
FROM tb_score AS sc         
INNER JOIN tb_student AS st       -- 1)确定查询哪些表
ON sc.sid=st.id;            -- 3)表与表之间连接条件

左[外]连接

左[外]连接查询: 使用左边表的数据去匹配右边表的数据,如果符合连接条件的结果则显示,如果不符合连接条件则显示null(或者说,显示关键字left左边表中的所有数据,右边表数据少了补null,多了不显示)

SELECT id,name
FROM tb_student st
LEFT OUTER JOIN tb_score sc
ON sc.sid=st.id;-- 注意: 左外连接:左表的数据一定会完成显示!

以左边表tb_student为参照,匹配右边表数据,左边表有的数据则显示,没有的不显示

右[外]连接

右[外]连接查询: 使用右边表的数据去匹配左边表的数据,如果符合连接条件的结果则显示,如果不符合连接条件则显示null;以右边表为参照显示数据

SELECT id,name
FROM tb_student st
RIGHT OUTER JOIN tb_score sc
ON sc.sid=st.id;

以右边表tb_score为参照,匹配左边表数据,右边表有的数据则显示,没有的不显示

本文标签: 关联查询(多表查询)