您的位置:首页 > 数据库

SQL连接查询

2014-02-13 23:58 197 查看
连接查询的语法如下:
SELECT 参数列表
FROM 连接表一 连接类型 连接表二
[ON 连接条件]
(一二可以是同一张表,称为自连接)

连接类型有以下几种:
(1)[INNER] JOIN 内连接
(2)LEFT [OUTER] JOIN、RIGHT [OUTER] JOIN、FULL [OUTER] JOIN 外连接
(3)CROSS JOIN 交叉连接

一、内连接
内连接只显示符合条件的记录,是默认的方式。
例1:从 studentinfo 表和 examscore 表中查询出所有学生的成绩和所有信息。新建查询代码如下:.
SELECT
FROM studentinfo INNER JOIN examscore
ON studentinfo.id=examscore.id
查询结果会出现两个相同的id字段。因为“*”默认列出所有字段,不管是否重复。

修改后的代码:
SELECT studentinfo.id,name,age,gender,class,score
FROM studentinfo INNER JOIN examscore
ON studentinfo.id=examscore.id


二、外连接
(1)LEFT [OUTER] JOIN:显示左边表中所有记录,以及右边表中符合条件的记录。
代码如下:
SELECT
FROM studentinfo LEFT JOIN examscore
ON studentinfo.id=examscore.id
(2)RIGHT [OUTER] JOIN:显示右边表中所有记录,以及左边表中符合条件的记录。
代码如下:
SELECT
FROM studentinfo Right JOIN examscore
ON studentinfo.id=examscore.id
(3)FULL [OUTER] JOIN:显示所有表中的所有记录
代码如下:
SELECT
FROM studentinfo FULL JOIN examscore
ON studentinfo.id=examscore.id


三、交叉连接
不带 ON 子句,它返回被连接的两个表所有数据行的笛卡尔积。
新建查询代码如下:
SELECT
FROM studentinfo CROSS JOIN examscore
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: