12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
ADADADADAD
mysql数据库 时间:2024-12-24 19:12:04
作者:文/会员上传
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
表连接的类型:1.内连接(inner join):是最常用的一种连接方式,只返回两个数据集合之间匹配关系的行,将位于两个互相交叉的数据集合中重叠部分以内的数据行连接起来。 例子:在表
以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。
表连接的类型:
1.内连接(inner join):是最常用的一种连接方式,只返回两个数据集合之间匹配关系的行,将位于两个互相交叉的数据集合中重叠部分以内的数据行连接起来。
例子:在表A和表B中使用内连接查询学生姓名,学校和职业。
实现方式一:
select A.姓名,A.学校,B.职业from A,Bwhere A.姓名=B.姓名
含义:结果显示表A的姓名和学校,表B的职业,从A,B表中查询,查询条件是表A的姓名等于表B的姓名。
实现方式二:
selectA.姓名,A.学校,B.职业fromAinnerjoinBonA.姓名=B.姓名
含义:表A内连接表B,内连接条件是表A的姓名等于表B的姓名。
注:内连接的结果只显示表A和表B共同拥有的姓名的行,姓名不相同的舍弃。
2.外连接:是对内连接的扩充,显示不匹配的数据。
1).左外连接(left join 或 left outer join):结果保留左表的所有行,如果左表的某一行在右表中没有匹配行,则将为右表的返回空值,否则返回相应值。
例子:在表A和表B中使用左外连接查询学生姓名,学校和职业。
selectA.姓名,A.学校,B.姓名,B.职业fromAleftjoinBonA.姓名=B.姓名
含义:结果显示出左边A表的所有姓名行数,B表中没有匹配的姓名,姓名和职业就显示为空值(null)。
2).右外连接(right join 或rightouter join):与左外连接相反,结果返回右表的所有行,如果右表的某一行在左表中没有匹配行,则将为左表的返回空值,否则返回相应值。
例子:在表A和表B中使用右外连接查询学生姓名,学校和职业。
selectA.姓名,A.学校,B.姓名,B.职业fromArightjoinBonA.姓名=B.姓名
含义:结果显示出右边B表的所有姓名行数,A表中没有匹配的姓名,姓名和学校就显示为空值(null)。
3).全连接/完整外连接(full join 或 full outer join):结果返回左表和右表的所有行,当某一行在另一个表中没有匹配行时,另一个表返回值就为空值,否则返回相应值。
例子:在表A和表B中使用右外连接查询学生姓名,学校和职业。
selectA.姓名,A.学校,B.姓名,B.职业fromAfulljoinBonA.姓名=B.姓名
含义:结果显示出A和B表的所有姓名行数,A表中没有匹配B表中的姓名,A的姓名和学校就显示为空值(null)。B表中没有匹配A表中的姓名,B的姓名和职业就显示为空值(null)。
3.交叉连接(cross join):是表之间没有任何关联条件,查询的结果是返回左表的每一行与右表的每一行挨个连接组合,相当于相乘。应用的场合较少,作为了解。
例子:在表A和表B中使用交叉连接查询学生姓名,学校和职业。
selectA.姓名,A.学校,B.姓名,B.职业fromAfulljoinB
含义:A表中的每一行都和B表中的每一行组合成为新行,结果总行数等于A的行数乘以B的行数
11-20
11-19
11-20
11-20
11-20
11-19
11-20
11-20
11-19
11-20
11-19
11-19
11-19
11-19
11-19
11-19