久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

mysql 很簡單的union鏈接查詢保存

瀏覽:126日期:2022-06-17 15:31:40

問題描述

問題解答

回答1:

select * 這里 字段個數不確定, 這里的字段個數應該和你union all 后面查出來的字段個數是一樣的才行。如果需要補位,就在union 后面加數字補位:

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) ;

我有點好奇,你為什么要這樣寫

回答3:

SELECT * FROM `products` WHERE id IN( (SELECT `id` FROM `products`) UNION ALL (SELECT `id` FROM `products`)) ;

這個語句在邏輯上就存在問題, 或者說, union 完全沒有實際作用, 連接的兩張表是同已個表. 那結果就是把一張表的 ID 給復制了一份, 比如 products 有 id {1,2,3} 那么 union 的結果就是 id {1,1,2,2,3,3} 然后還拿這結果做 in 條件, 還是查詢這張表, 那最終查詢出來的結果還是 products 原來的數據, in 會匹配所有符合的記錄, 重復的 ID 不會查出兩條.

所以, 等價于

select * from products

不明白你想要什么

相關文章:
主站蜘蛛池模板: 武夷山市| 布尔津县| 黑河市| 运城市| 天祝| 汕头市| 达日县| 富宁县| 海原县| 积石山| 台江县| 珠海市| 晋宁县| 南安市| 武乡县| 衡山县| 南投市| 阳东县| 武穴市| 额尔古纳市| 榆中县| 昆山市| 安达市| 噶尔县| 启东市| 潜山县| 阳山县| 汉川市| 西安市| 南宁市| 平江县| 民和| 铜川市| 广元市| 南和县| 巨鹿县| 嘉义市| 霍州市| 浑源县| 沙湾县| 上思县|