T-SQL 表连接
表连接,将多个表的数据查询到一起
(1)笛卡尔积 穷举
想查询 car表的name列和brand 表的brand_name列,使用笛卡尔积查询后,因为不知道以哪个表为准,就每个对应一遍,相当于穷举算法,列举出了所有的可能性。
(2)方法一: (每一行的拼接)
思路:
观察原始表:
两个表存在联系,brand 和brand_code,实现两表不同列同时显示需要在两个表之间架个桥,brand=brand_code就是桥,就可以实现目的
定义:select 列a,(select 列b from 表b where 表b.桥=表a.桥)from 表(表a,表b哪个数据多用哪个)
方法二: (每一行的拼接)
select 列a,列b from 表a, 表b where(表a.桥=表b.桥)
方法三: (每一行的拼接)
select 列a ,列b from 表a (left/right)join 表b on 表a.桥=表b.桥 left以jion左边表为基准,right以jion右边表为基准
(3)查询两个数据类型相同列,不同表:(以列为基准拼接)
select 列a,列a1 from 表a union select 列b,列b1 from 表b
原始表:
完成表: