Mysql使用外連線替換in和not in

2021-09-23 20:02:23 字數 395 閱讀 5462

在程式中,我們經常會習慣性的使用in和not in,在訪問量比較小的時候是可以的,但是一旦資料量大了,我們就推薦使用not exists或者外連線來代替了。

如果要實現一張表有而另外一張表沒有的資料時,我們通常會這麼寫:

select * from

table

twhere

t.id

notin (select

idfrom table2)

我們可以使用下面的語句代替:

select a.* from table1 a left

join table2 b on a.id = b.id

where b.id

isnull;

mysql外連線 MySQL外連線

外連線不但返回符合連線和查詢條件的資料行,還返回不符合條件的一些行。外連線分三類 左外連線 left outer join 右外連線 right outer join 和全外連線 full outer join 在外連線中outer 關鍵字可省略。三種連線的共同點 都返回符合連線條件和查詢條件 即內...

mysql內連線和外連線

testa表 idname class1張三 a2李四b 3王五ctestb表 class ageb10c 20d30內連線實際上就是交集,顯示符合匹配條件的資料 select testa.testb.from testa inner join testb on test.class testb.c...

Mysql表連線,內連線和外連線

當需要同時顯示多個表中的字段時,就可以用表連線來實現這樣的功能,從大類上來分,連線分為內連線和外連線 內連線僅選出需要連線表中相互匹配的記錄 外連線會選出連線表中不匹配的記錄 外連線分為左連線和右連線 左連線 包含所有左表中的記錄,甚至是右表中沒有和它匹配的記錄 右連線 包含所有右表中的記錄,甚至是...