mysql 很簡(jiǎn)單的union鏈接查詢保存
問題描述
問題解答
回答1:select * 這里 字段個(gè)數(shù)不確定, 這里的字段個(gè)數(shù)應(yīng)該和你union all 后面查出來(lái)的字段個(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è)語(yǔ)句在邏輯上就存在問題, 或者說(shuō), union 完全沒有實(shí)際作用, 連接的兩張表是同已個(gè)表. 那結(jié)果就是把一張表的 ID 給復(fù)制了一份, 比如 products 有 id {1,2,3} 那么 union 的結(jié)果就是 id {1,1,2,2,3,3} 然后還拿這結(jié)果做 in 條件, 還是查詢這張表, 那最終查詢出來(lái)的結(jié)果還是 products 原來(lái)的數(shù)據(jù), in 會(huì)匹配所有符合的記錄, 重復(fù)的 ID 不會(huì)查出兩條.
所以, 等價(jià)于
select * from products
不明白你想要什么
相關(guān)文章:
1. 數(shù)據(jù)庫(kù) - mysql boolean型無(wú)法插入true2. .......3. node.js - 在搭建vue.js時(shí),安裝淘寶npm鏡像cnpm,報(bào)錯(cuò),如何解決呢4. 視頻 - html5 video的autoplay 在智能手機(jī)上不運(yùn)作?5. javascript - jquery選擇的dom元素如何更新?6. python - Django問題 ’WSGIRequest’ object has no attribute ’user’7. python - scrapy中返回函數(shù)的返回值8. javascript - H5頁(yè)面無(wú)縫輪播9. mysql輸入賬號(hào)密碼后跳出一大堆內(nèi)容后但卻進(jìn)不了mysql?10. mysql服務(wù)無(wú)法啟動(dòng)1067錯(cuò)誤,誰(shuí)知道正確的解決方法?
