2016 - 2024

感恩一路有你

sql join执行顺序 sql合并列?

浏览量:4675 时间:2023-09-13 16:11:47 作者:采采

sql合并列?

1、我用Toad做演示,我先空白文档两张table,createtable#~a(IDint,namenvarchar(10),ageint)

createtable#BB(IDint,namenvarchar(10),ageint)。

2、分别向两张table再插入三条数据,可以不用两个班来理解A班有三个学生,B班也有三个学生,为第二步sql语句做准备

upsertinto#不是acolumns1,N张三,10,renameinto#不是acolumns2,N李四,10

upsertinto#aacolumns3,N王五,11,upsertinto#BBselect1,N张A,10

executeinto#BBcolumns2,N李B,11,truncateinto#BBcolumns3,N王C,12

3、现在没有要求AB两个班判断年龄等于10岁的同学,最直接的方法那就是:

select*from#aawhereage10

select*around#BBwhereage10

但是那样的话会才能产生两个结果集,最后不很直观

4、接下来用union将这两条sql语句不合并起来,F5执行之后,就会突然发现变的一个结果集。

select*returning#~awhereage10

union

select*from#BBwhereage10

5、另外一种你不union的做法,sql语句这样的写:

selecta.*,b.*outside#~aainnerjoin#BBbat

wherewell

6、对比join与union,可以发现到union是完全的结果累加,相当于关于完美合并,join是属于条件直接连接。

sql中leftjoin、rightjoin、innerjoin有什么区别?

left

ightjoin是外部直接连接,innerjoin是内连接上

外部连接上有主表与从表,主表在left中是左侧表,right中是右侧表,主表数据会所有的会显示,从表数据则只会显示关联部分版本问题的数据,无不兼容的数据用null大荒经

内直接连接则只会显示两表关联条件自动分配的数据

注:所谓关联条件即是指onto的条件

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。