2012年8月28日 星期二

合併複數資料表的方式


/* 合併資料表*/

合併兩張資料表的方式,大概有下面三種。

--(1)用逗點分隔
select * from score,personal

--(2)使用INNER JOIN
select * from score INNER JOIN personal

--(3)省略INNER,只使用JOIN
select * from score JOIN personal


下面三個語法,有的只有 JOIN 條件,有的只有 WHERE 條件,但結果都是一樣。

--(1)

--下面的語法,把INNER JOIN 中 ON 的條件挪到 where 裡了。
select *
  from score S,personal P
 where S.std_num=P.std_num and p.addr like '__'

--(2)
select *
  from score S join personal P
    on S.std_num=P.std_num
 where p.addr like '__'

--(3)
--下面語法沒有使用 where 是可以的,但僅適合簡易的資料查詢。
--「p.addr like '_竹_'」合併到 JOIN 的條件裡了。
select *
  from score S join personal P
    on S.std_num=P.std_num and p.addr like '__'



用逗點來做 INNER JOIN,對我來說,算是蠻新奇的作法。
我以前都不知道可以這樣使用...




沒有留言:

張貼留言