作者whiteshirts (MJIB)
看板Database
標題[SQL ] 請問有關JOIN問題
時間Fri Dec 3 23:00:35 2010
最近在看題目,遇到一題DB的問題
想請教各位大大
資料庫中有兩個資料表A和B
其中A的主要鍵值為id,B的主要鍵值為name
A join B後,結果會有多少筆資料?
A B
id major name major
-- ----
123 IM Jack IM
456 IM John IM
============================================================
我原本想法是,major為共同欄位(雖然不是主鍵,但也沒有外鍵 @@)
所以會有2筆資料如下:
123 IM Jack
456 IM John
但後來看到答案是4筆資料
於是我下的SQL指令是
SELECT *
FROM A,B
WHERE A.major=B.major
結果出來為
123 IM Jack IM
123 IM John IM
456 IM Jack IM
456 IM John IM
(就是2種組合*2種組合)
===========================================================
我想問的是
答案說的4筆資料,就是我以上所列的那4種嗎?
還是有其它SQL指令可以下?
麻煩SQL高手告知
感恩了~~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.160.210.151
1F:推 liuyyss:「A join B」後,結果會有多少筆資料?=>把where條件拿掉 12/06 13:29
2F:→ whiteshirts:我把where拿掉 結果一樣 真神奇 @@ 謝謝回覆囉 12/06 19:34
3F:推 liuyyss:在你這個case下會一樣,試試A,B的major多給些不同值吧 12/07 13:12
4F:→ lisyu:你如果資料表長這樣,四筆是正常的,因為A表的一筆join了B表 12/14 16:41
5F:→ lisyu:兩筆,要這樣寫major必須是唯一的才能出來兩筆 12/14 16:52