Re: [請益] 如何從MySQL中挑選出非共同的項目呢?

看板PHP作者 (低溫烘焙)時間17年前 (2008/10/19 19:11), 編輯推噓1(104)
留言5則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《jami520 (我的生命因你而發光)》之銘言: : 如何利用MySQL從增料庫裡面挑選出二個資料表非共有的項目呢? : 舉例: : 課程資料表 : csNo csName : 1 國文 : 2 英文 : 3 數學 : 4 社會 : 選修資料表 : No stNo csNo csName : 1 1 1 國文 : 2 1 2 英文 : 現在我想要利用MySQL挑選出選修資料表中stNo=1尚未選修的課程(數學 & 理化) : 不知道該怎樣寫呢?謝謝~ SELECT * FROM ( SELECT A.csNO,B.csName FROM `選修資料表` AS A RIGHT JOIN `課程資料表` AS B ON A.csNO = B.csNO ) AS C WHERE csNO IS NULL 你選修資料表中的csName算是多餘的欄位.. SQL不好刻呀~囧rz,好好練的話程式可以少寫很多,而且效能也高 -- 歡迎來我的網誌看看 @ http://doublekai.org/blog -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.240.37.127

10/20 01:11, , 1F
select csNo,csName from 課程
10/20 01:11, 1F

10/20 01:12, , 2F
where csNo not in(
10/20 01:12, 2F

10/20 01:12, , 3F
select csNo from 選修 where stNo=1)
10/20 01:12, 3F

10/20 01:13, , 4F
不知這樣效能會不會更好?= = join 少用?
10/20 01:13, 4F

10/20 20:12, , 5F
原來可以這樣寫= =,我不知道說..學了一樣
10/20 20:12, 5F
文章代碼(AID): #18-nN9OI (PHP)
文章代碼(AID): #18-nN9OI (PHP)