杭州房產(chǎn)網(wǎng)二手房seo蜘蛛屯
一、SQL水平合并基本語法
sql的合并有兩步,step1:進行笛卡爾乘積運算,第一個表的每一行合并第二個表的每一行,即表a有3行,表b有3行,則合并后3*3=9行。笛卡爾過程包含源數(shù)據(jù)的所有列,相同列名會合并。Step2:根據(jù)需要在第一步的基礎(chǔ)上進行數(shù)據(jù)的篩選。
分類包括:
內(nèi)合并(inner join)
外合并(outer join):左連接(left join)、右連接(right join)、全連接(full join)
二、內(nèi)合并
方法1:from +where
where one.x=two.x
列名不需要相同,one.x=two.y,但數(shù)據(jù)類型需要相同。
from:最多連接32張表。
方法2:from+inner on
用“table.column”選擇需要保留的變量。若第一張表是主表,需保留第一張表的所有變量,可用“one.*”。
可以在select中進行變量重命名。
可以在from中進行表的重命名,as可加可不加,更名后可在其他語句中進行使用。
三、外合并
3.1 左連接
3.2 右連接
3.3 全連接
3.4 merge與sql的區(qū)別
與merge進行配對的邏輯不同,merge先按照by進行排序,然后從上到下進行匹配,保留符合匹配規(guī)則。sql的結(jié)果與merge結(jié)果不一致。
3.5 Coalesce
Coalesce:合并,既包括one的,也包括two的x。與merge結(jié)果一致。
四、復雜的sql語句示例
4.1 在select中進行運算
4.2 添加標簽
4.3 Select嵌套
類似if條件句的判斷