mysql 很簡單的union鏈接查詢保存
問題描述
問題解答
回答1:select * 這里 字段個數(shù)不確定, 這里的字段個數(shù)應(yīng)該和你union all 后面查出來的字段個數(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`)) ;
這個語句在邏輯上就存在問題, 或者說, union 完全沒有實(shí)際作用, 連接的兩張表是同已個表. 那結(jié)果就是把一張表的 ID 給復(fù)制了一份, 比如 products 有 id {1,2,3} 那么 union 的結(jié)果就是 id {1,1,2,2,3,3} 然后還拿這結(jié)果做 in 條件, 還是查詢這張表, 那最終查詢出來的結(jié)果還是 products 原來的數(shù)據(jù), in 會匹配所有符合的記錄, 重復(fù)的 ID 不會查出兩條.
所以, 等價于
select * from products
不明白你想要什么
相關(guān)文章:
1. docker-compose中volumes的問題2. java如何高效讀寫10G以上大文件3. android - viewpager問題PagerTabStrip樣式4. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題5. css - input元素的time控件無法選擇6. javascript - js判斷用戶的網(wǎng)絡(luò)能否上網(wǎng)?7. python 字符串匹配問題8. dockerfile - [docker build image失敗- npm install]9. javascript - 這里的這個函數(shù)是干嘛用的?10. mysql - SQL語句可以提供“查詢表,并至第100條結(jié)果為止”嗎?
