看板 Database 關於我們 聯絡資訊
※ 引述《shastar (shasta)》之銘言: : 試將下列nested query 轉換成只含 table join 的形式,也就是將nested query 移除。 : 其中Table1 與Table2 是Relational Table,Field1~Field4 是Table 中之欄位。 : --------------------------- : SELECT * : FROM Table1 : WHERE Field1 = 7 AND : Field2 IN ( SELECT Field3 FROM Table2 WHERE Field4 = 8 ) ; : ---------------------------- : 答: : SELECT t1.Field1, t1.Field2, t1.Field3, t1.Field4 : FROM Table1 t1, Table2 t2 : WHERE t1.Field1=7 AND t1.Field2=t2.Field3 AND t2.Field4=8; : 不知道這樣轉換對不對?請幫我看一下,謝謝!! : 另外,我第一行可不可以寫成 select t1.* 呢? 應用 t1.* 才對. 也可以考慮用 join clause: select t1.* from table1 t1 join table 2 t2 on t1.field2=t2.field3 and t2.field4=8 where t1.field1=7; 之類 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.155.236.82
shastar:感謝~ 那請問我原本的寫法OK嗎? 09/21 19:57
adrianshum:最大問題是你怎麼知道 t1 有哪幾個 field? 09/22 17:53
shastar:對對 就是除了t1.*這行之外 where的部份 09/22 22:14
adrianshum:其他的大概ok 啦,雖然我會習慣把join field 放最前 09/22 22:29
shastar:thank you ^_^ 09/24 11:17