Re: [SQL ] 兩個table結合查詢語法問題
※ 引述《Whynopeople (whynopeople)》之銘言:
: 各位前輩好,
: 最近在整理資料遇上一些語法問題。
: 有兩張資料表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有百萬筆資料)
: 得不到回應
: 而且我們都覺得這語法似乎達不到預期結果
: 還請版上前輩們可否指導一下
: 謝謝
幾個觀念
1. 如果你的 SQL 有使用到 IN,那麼就會 sort ... sort 就會拖慢時間
2. 可以使用資料庫所提供的工具,例如 Oracle 就有 Explain plan
若要變快的話... 可以直接使用 Inner Join 就好
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 119.77.195.98
→
05/29 20:18, , 1F
05/29 20:18, 1F
推
05/29 20:19, , 2F
05/29 20:19, 2F
→
05/31 00:56, , 3F
05/31 00:56, 3F
討論串 (同標題文章)