[SQL ] 兩個table結合查詢語法問題

看板Database (資料庫)作者 (whynopeople)時間12年前 (2013/05/29 13:44), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串1/3 (看更多)
各位前輩好, 最近在整理資料遇上一些語法問題。 有兩張資料表table_1及table_2 想要的到result_table的結果。 table 1 ================= | CUI | STR | ----------------- | 1 | Hi | ----------------- | 2 | wow | ================= table 2 ================== | CUI_1 | CUI_2 | ------------------ | 1000 | 1 | ------------------ | 2 | 1002 | ------------------ | 1 | 2 | ------------------ | 2 | 1 | ================== 結果: result_table ============================= | CUI_1 | STR | CUI_2 | STR | ----------------------------- | 1 | Hi | 2 | wow | ----------------------------- | 2 | wow | 1 | Hi | ============================= 我們試著下以下條件 select table2.CUI_1, table1.STR, table2.CUI_1, table.STR from table1 , table2 where table2.CUI1 in (select table.cui from table2) and table2.CUI2 in (select table1.cui from table1) 但也許是這樣寫效率太差(table1有6000筆資料,table2有百萬筆資料) 得不到回應 而且我們都覺得這語法似乎達不到預期結果 還請版上前輩們可否指導一下 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.126.36.94

05/29 16:49, , 1F
資料表做過index了嗎?
05/29 16:49, 1F

05/29 16:56, , 2F
有的
05/29 16:56, 2F

05/29 17:40, , 3F
不要用in~直接再join
05/29 17:40, 3F

05/29 17:42, , 4F
table2.CUI1 in (select table.cui from table2) -->???
05/29 17:42, 4F

05/29 17:42, , 5F
你的SQL可以整理一下嗎~要是真的話~有點無言
05/29 17:42, 5F
文章代碼(AID): #1HfPMhFa (Database)
文章代碼(AID): #1HfPMhFa (Database)