我們在開發過程中常常會使用到將多個查詢結果都直接顯示出來,那麼應該怎麼查詢呢?這篇文章進行學習SQL,來一起看看SQL中的UNION關鍵字,看看它要怎麼使用,希望對大家有幫助!
SQL中的UNION關鍵字,將實作將多個查詢條件中的結果顯示出來。
UNION的中文意義是聯合的意思,即合併兩個或多個 SELECT 語句的結果。使用技巧如下:
如下圖,使用上一章介紹的資料作為示範資料
##分別建立表s_user 和表格
s_user_1
CREATE TABLE `s_user` ( `userid` int(11) NOT NULL AUTO_INCREMENT, `user_name` varchar(255) DEFAULT NULL, `name` varchar(255) DEFAULT NULL, `pass_word` varchar(255) DEFAULT NULL, `salt` varchar(255) DEFAULT NULL, `state` varchar(255) DEFAULT NULL, `create_time` datetime DEFAULT NULL, PRIMARY KEY (`userid`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
INSERT INTO `test`.`s_user`(`userid`, `user_name`, `name`, `pass_word`, `salt`, `state`, `create_time`) VALUES (1, '小米', '小米', '123123', '123', '1', '2022-02-10 19:48:43'); INSERT INTO `test`.`s_user`(`userid`, `user_name`, `name`, `pass_word`, `salt`, `state`, `create_time`) VALUES (2, '小白', '小白', '123123', '123', '1', '2022-02-10 19:48:43'); INSERT INTO `test`.`s_user_1`(`userid`, `user_name`, `name`, `pass_word`, `salt`, `state`, `create_time`) VALUES (1, '小红', '小红', '123123', '123', '1', '2022-02-10 19:48:43'); INSERT INTO `test`.`s_user_1`(`userid`, `user_name`, `name`, `pass_word`, `salt`, `state`, `create_time`) VALUES (2, '小黄', '小黄', '123123', '123', '1', '2022-02-10 19:48:43');
SELECT * FROM `s_user` UNION SELECT * FROM `s_user_1`
錯誤用法
SELECT * FROM `s_user` UNION SELECT userid,name,pass_word FROM `s_user_1`
#錯誤提示:使用的SELECT語句查詢出不同的列數
正確用法
SELECT userid,name,pass_word FROM `s_user` UNION SELECT userid,name,pass_word FROM `s_user_1`
SELECT userid,name,create_time FROM `s_user` UNION SELECT pass_word,name,userid FROM `s_user_1`
SELECT create_time,userid,name FROM `s_user` UNION SELECT pass_word,name,userid FROM `s_user_1`
INSERT INTO `test`.`s_user_1`(`userid`, `user_name`, `name`, `pass_word`, `salt`, `state`, `create_time`) VALUES (3, '小白', '小白', '123123', '123', '1', '2022-02-10 19:48:43');
SELECT user_name,name,pass_word,salt FROM `s_user` UNION SELECT user_name,name,pass_word,salt FROM `s_user_1`
SELECT user_name,name,pass_word,salt FROM `s_user` UNION ALL SELECT user_name,name,pass_word,salt FROM `s_user_1`
執行結果:
可以看到UNION關聯的移除了重複項,而UNION ALL查詢出了所有的值,沒有移除重複資料。
結語
推薦學習:
mysql影片教學以上是SQL入門學習之淺析UNION關鍵字的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!