作者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