SQL表连接的方法

61次阅读
没有评论

共计 1317 个字符,预计需要花费 4 分钟才能阅读完成。

这篇文章主要介绍“SQL 表连接的方法”,在日常操作中,相信很多人在 SQL 表连接的方法问题上存在疑惑,丸趣 TV 小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SQL 表连接的方法”的疑惑有所帮助!接下来,请跟着丸趣 TV 小编一起来学习吧!

可以通过图看下

多表查询分为 内、外连接

外连接分为左连接(left join 或 left outer join)、右连接(right join 或者 right outer join)、和完整外部连接(full join 或者 full outer join)

左连接(left join 或 left outer join)的结果就是 left join 子句中的左表的所有行,而不仅仅是链接列所匹配的行,如果左表中的某行在右表中没有匹配,则在相关联的结果行中右表的所有选择列均为空值(NULL)

SQL 语法 select * from table1 left join table2 on table1. 条件列名 = table2. 条件列名;

注释:显示的就是 table1 中的所有列和能匹配的列

右连接(right join 或 right outer join)在这里不做多说这左连接很象但是是相反的,只说一下语法

select *from table1 right join table2 on table1. 条件列 = table2. 条件列

完全外部连接(full join 或 full outer join)

显示左右表中的所有行,当某一个表中没有匹配的行时,则另一个表的选择列表列包含空值(NULL)如果有则显示全部数据

SQL 语法:

select *from table1 full join table2 on table1. 条件列名 = table2. 条件列名

内连接:
概念:内连接就是用比较运算符比较要用连接列的值的连接

内连接(join 或者 inner join)

SQL 语法:

select *fron table1 join table2 on table1. 条件列名 = table2. 条件列名

返回符合匹配条件的两表列

等价于:

select A* ,B* from table1 A ,table2 B where A. 条件列名 =B. 条件列名
select *form table1 cross join table2 where table1. 条件列名 = table2. 条件列名(注:Cross join 后面不能跟 on 只能用 where)

交叉连接(完全)

概念:没有用 where 子句的交叉连接将产生连接所涉及的笛卡尔积第一个表的行数乘以第二个表的行数等于笛卡尔积和结果集的大小

交叉连接:Cross join(不带条件 where,如果带返回或显示的是匹配的行数)

SQL 语法:

select *from table1 cross join table2

如果有条件(where)

select * from table1 cross join table2 where table1. 条件列名 = table2. 条件列名

等价于

select *from table1,table2 (不带 where)

到此,关于“SQL 表连接的方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-04发表,共计1317字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)