1
我新的MySQL的檢索基於鍵一些行,所以我會用一個例子來揭露我的問題......MySQL查詢:在另一個表
我有兩個表:
表1 :
+----+-----+-----+-----+-----+
| id | a1 | b1 | c1 | d1 |
+----+-----+-----+-----+-----+
| 1 | ... | ... | ... | ... |
| 2 | ... | ... | ... | ... |
| 3 | ... | ... | ... | ... |
| 4 | ... | ... | ... | ... |
| 5 | ... | ... | ... | ... |
| 6 | ... | ... | ... | ... |
+----+-----+-----+-----+-----+
表2:
+----+-----+-----+-----+---------------+
| id | a2 | b2 | c2 | table1_row_id |
+----+-----+-----+-----+---------------+
| 1 | ... | ... | ... | ... |
| 2 | ... | ... | ... | 4 |
| 3 | ... | ... | ... | ... |
+----+-----+-----+-----+---------------+
表2列table1_row_id
是table1的關鍵。
我應該使用哪種查詢來檢索table2.table1_row_id
列中未引用的table1數據?
例如,對於上面的表,查詢將返回一個表,如:
+----+-----+-----+-----+-----+
| id | a1 | b1 | c1 | d1 |
+----+-----+-----+-----+-----+
| 1 | ... | ... | ... | ... |
| 2 | ... | ... | ... | ... |
| 3 | ... | ... | ... | ... |
| 5 | ... | ... | ... | ... |
| 6 | ... | ... | ... | ... |
+----+-----+-----+-----+-----+
也許這是簡單的,但我不知道我應該怎麼辦尚未...
我試過了,但它沒有檢索到任何行... – amp
正常情況下,您無法獲取任何行,子查詢將返回空值,這將阻止主查詢返回行。而且,如果subtable是大的,mysql使用這種方法的性能很差。通過從子查詢中排除空記錄,這將完成這項工作。 '(SELECT table1_row_id FROM table2 where table1_row_id not null)' –
有了這個改變,它可以工作......謝謝! – amp