SQL连接学习总结
来源:互联网 发布:windows启动程序脚本 编辑:程序博客网 时间:2024/05/22 09:43
SQL连接学习总结
一 SQL 连接(JOIN)
SQL join 用于把来自两个或多个表的行结合起来。SQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。
最常见的 JOIN 类型:SQL INNER JOIN(简单的 JOIN)。
SQL INNER JOIN 从多个表中返回满足 JOIN 条件的所有行。
不同的 SQL JOIN
INNER JOIN:如果表中有至少一个匹配,则返回行
LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行
FULL JOIN:只要其中一个表中存在匹配,则返回行
SQL INNER JOIN
INNER JOIN 关键字在表中存在至少一个匹配时返回行。
INNER JOIN 与 JOIN 是相同的。
SQL LEFT JOIN
LEFT JOIN 关键字从左表(table1)返回所有的行,即使右表(table2)中没有匹配。如果右表中没有匹配,则结果为 NULL。
在某些数据库中,LEFT JOIN 称为 LEFT OUTER JOIN。
SQL RIGHT JOIN
RIGHT JOIN 关键字从右表(table2)返回所有的行,即使左表(table1)中没有匹配。如果左表中没有匹配,则结果为 NULL。
在某些数据库中,RIGHT JOIN 称为 RIGHT OUTER JOIN。
SQL FULL OUTER JOIN
FULL OUTER JOIN 关键字只要左表(table1)和右表(table2)其中一个表中存在匹配,则返回行.
FULL OUTER JOIN 关键字结合了 LEFT JOIN 和 RIGHT JOIN 的结果。
FULL OUTER JOIN 关键字返回左表(Websites)和右表(access_log)中所有的行。
二 名词的说明
内联接。包括相等联接和自然联接。内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students和courses表中学生标识号相同的所有行。
外联接。外联接可以是左向外联接、右向外联接或完整外部联接。
完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。
交叉联接
交叉联接返回左表中的所有行,左表中的每一行与右表中的所有行组合。交叉联接也称作笛卡尔积。
三 例子
-------------------------------------------------
a表 id name b表 id job parent_id
1 张3 1 23 1
2 李四 2 34 2
3 王武 3 34 4
a.id同parent_id 存在关系
--------------------------------------------------
1) 内连接
select a.*,b.* from a inner join b on a.id=b.parent_id
结果是
1 张3 1 23 1
2 李四 2 34 2
2)左连接
select a.*,b.* from a left join b on a.id=b.parent_id
结果是
1 张3 1 23 1
2 李四 2 34 2
3 王武 null
3) 右连接
select a.*,b.* from a right join b on a.id=b.parent_id
结果是
1 张3 1 23 1
2 李四 2 34 2
null 3 34 4
4) 完全连接
select a.*,b.* from a full join b on a.id=b.parent_id
结果是
1 张3 1 23 1
2 李四 2 34 2
null 3 34 4
3 王武 null
0 0
- SQL连接学习总结
- SQL连接查询总结
- sql 连接查询总结
- sql 表连接总结:
- sql表连接总结
- sql内外连接总结
- Sql 连接查询总结
- sql各种连接总结
- SQL各种连接学习
- SQL各种连接学习
- sql server 2005 连接总结
- Sql Server2005连接字符串总结
- SQL Server 连接字符串总结
- SQL四种连接总结
- sql连接查询问题总结
- SQL表连接优化总结
- SQL各种Join连接总结
- sql server 连接 oracle 总结
- AsyncTask原理及不足
- OpenStack 业务链networking-sfc介绍 (2)
- PTA天梯地图
- c++作业3
- c++作业3
- SQL连接学习总结
- 如何在Xcode里锁定文件不让别人编辑呢
- SPFA
- OC与JS的交互(iOS与H5混编)
- easyUI dialog的close和destroy区别
- 自己实现 ArrayList
- 运用canvas制作简单的画图
- 关于html、css、js是否写在一个文件里
- 第三次上机实验