mysql 很簡(jiǎn)單的union鏈接查詢保存
問題描述
問題解答
回答1:select * 這里 字段個(gè)數(shù)不確定, 這里的字段個(gè)數(shù)應(yīng)該和你union all 后面查出來的字段個(gè)數(shù)是一樣的才行。如果需要補(bǔ)位,就在union 后面加數(shù)字補(bǔ)位:
select column1,column2 from `products` where id in (select id from `products`) union all (select id,1 from `products`);回答2:
SELECT * FROM products WHERE id IN(SELECT id FROM products UNION ALL SELECT id FROM products) ;
我有點(diǎn)好奇,你為什么要這樣寫
回答3:SELECT * FROM `products` WHERE id IN( (SELECT `id` FROM `products`) UNION ALL (SELECT `id` FROM `products`)) ;
這個(gè)語句在邏輯上就存在問題, 或者說, union 完全沒有實(shí)際作用, 連接的兩張表是同已個(gè)表. 那結(jié)果就是把一張表的 ID 給復(fù)制了一份, 比如 products 有 id {1,2,3} 那么 union 的結(jié)果就是 id {1,1,2,2,3,3} 然后還拿這結(jié)果做 in 條件, 還是查詢這張表, 那最終查詢出來的結(jié)果還是 products 原來的數(shù)據(jù), in 會(huì)匹配所有符合的記錄, 重復(fù)的 ID 不會(huì)查出兩條.
所以, 等價(jià)于
select * from products
不明白你想要什么
相關(guān)文章:
1. 測(cè)試自動(dòng)化html元素選擇器元素ID或DataAttribute [關(guān)閉]2. html5 - datatables 加載不出來數(shù)據(jù)。3. javascript - QQ第三方登錄的問題4. html5和Flash對(duì)抗是什么情況?5. 利用IPMI遠(yuǎn)程安裝centos報(bào)錯(cuò)!6. node.js - mongodb查找子對(duì)象的名稱為某個(gè)值的對(duì)象的方法7. 運(yùn)行python程序時(shí)出現(xiàn)“應(yīng)用程序發(fā)生異常”的內(nèi)存錯(cuò)誤?8. 在mac下出現(xiàn)了兩個(gè)docker環(huán)境9. 正在使用electron和node.js做桌面應(yīng)用,需要實(shí)時(shí)監(jiān)聽是否有網(wǎng)絡(luò)連接,node或者electron是否可以做到10. spring-mvc - spring-session-redis HttpSessionListener失效

網(wǎng)公網(wǎng)安備