1 inner join 時查詢出來的結果相同
select
a.id as channel_id,
a.channel_name,
b.op_month,
b.living_count as living_count,
b.working_count as working_count
from
channel_info a
inner join
st_people_mm b
oncast(a.id as text) = b.channel_id
where
a.parent_channel_id = 465201548
and a.show_type = 'v'
and b.op_month = 201707
2 在使用left jion時,on和where條件的區別如下:
1、 on條件是在生成臨時表時使用的條件,它不管on中的條件是否為真,都會返回左邊表中的記錄。
2、where條件是在臨時表生成好後,再對臨時表進行過濾的條件。這時已經沒有left join的含義(必須返回左邊表的記錄)了,條件不為真的就全部過濾掉。
sql on和where條件的使用
使用join進行關聯查詢時,我們有可以使用on作為條件也可以使用where作為條件。但是兩者是不同的。sql執行的順序on是在join之前執行where是在前面兩者之後執行。我們以乙個案例分析。上面的sql我們對查詢條件s id有限制,但是這個限制卻看似沒有起作用。起不了作用是不能的,不可能不起作用...
on和where的區別
資料庫在通過連線兩張或多張表來返回記錄時,都會生成一張中間的臨時表,然後再將這張臨時表返回給使用者。在使用left jion時,on和where條件的區別如下 1 on條件是在生成臨時表時使用的條件,它不管on中的條件是否為真,都會返回左邊表中的記錄。2 where條件是在臨時表生成好後,再對臨時表...
on和where的區別
資料庫在通過連線兩張或多張表來返回記錄時,都會生成一張中間的臨時表,然後再將這張臨時表返回給使用者。在使用left jion時,on和where條件的區別如下 1 on條件是在生成臨時表時使用的條件,它不管on中的條件是否為真,都會返回左邊表中的記錄。2 where條件是在臨時表生成好後,再對臨時表...