Sqlite
sql在加入時產生重複的列ID?
有沒有辦法只顯示一個用於連接其他表的 id 列?
此查詢生成兩個 id 列,用於作為主鍵和外鍵相互連接。我只希望它重複 id 列一次。
SELECT * FROM products JOIN productimg ON products.id = productimg.id WHERE products.id IN (1, 2, 3)
查詢結果:
id name cid stk prc id url 1 product1 1 10 3000 1 /static/images/dresses/td1.jpg 2 product2 2 10 2500 2 /static/images/dresses/td2.jpg 3 product3 2 4 4000 3 /static/images/dresses/td3.jpg
有沒有辦法只顯示一個用於連接其他表的 id 列?
是的。
明確說明要在查詢中檢索的列。
這允許您保留對檢索的欄位數量、檢索這些欄位的順序**以及您希望/需要在檢索過程中執行的任何“重命名”(別名)的控制。
SELECT p.id , p.name , p.cid , p.stk , p.prc , i.url FROM products p JOIN productimg i USING (id) WHERE p.id IN (1, 2, 3) ORDER BY p.id ;
選擇 * …
切勿在生產程式碼中使用“Select *”。
如果有人
$$ else $$如果要通過添加 20 個 blob 欄位來擴展您的整潔、小巧、三列的表,您的應用程序性能將會下降,您的程式碼絕對沒有理由檢索所有這些“怪物”列,因為您的程式碼沒有使用它們!