2016-04-23 40 views
-1

領域的常見我有兩個表如何忽略兩個表

t1       t2 
-------------------   --------------------- 
no  course    no  equivalent 
-------------------   --------------------- 
1  MATH 101    2   CHEM 111  
2  CHEM 101 
3  ENG 101 

我如何寫查詢或查詢與PHP語言功能,顯示我的課程和消失的課程,其之間沒有共同的兩張桌子。

喜歡這個

在輸出表中課程號2 ( 2 CHEM 101)輸出

-------------------- 
no  course 
-------------------- 
1  MATH 101 
3  ENG 101 

,因爲它的數t1和t2之間共享不會出現在表格中。 我想那樣。

+0

是否真的相當於'CHEM 111'或'CHEM 101'也? – rmondesilva

+0

@Anant這隻適用於t2中只有1行的情況。否則,你會得到「2,CHEM 101,3,其他等價物」 –

+0

「SELECT * FROM t1 NATURAL JOIN t2」會給你想要的結果。你的問題也是如何在PHP中執行MySQL查詢?那些確實是兩個不同的問題。 –

回答

-1

試試這個

SELECT * FROM t1 WHERE t1.no NOT IN (SELECT no FROM t2)

+1

如果第二個表的行數更多,會發生什麼情況?你的查詢不會工作,我想'SELECT * FROM t1 WHERE t1.no!=(1,2,3,4,5)' –

+0

爲什麼要根據id進行比較,如果兩個表中的id不同,但值是常見的? –

2
select no From t1 where no not in (select no from t2); 
+0

爲什麼基於id的比較,如果兩個表中的id不同,但值是常見的會發生什麼? –

+0

你只需要改變列名,'選擇否從t1沒有不在(從t2中選擇ID);' – Hachachin

+0

如果兩個表都有100個ID不同的表,但這兩個表都是常見的,會發生什麼? –