久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      SQL入門(mén)學(xué)習(xí)之淺析UNION關(guān)鍵字的用法

      我們開(kāi)發(fā)過(guò)程中經(jīng)常會(huì)使用到將多個(gè)查詢結(jié)果都直接顯示出來(lái),那么應(yīng)該怎么查詢呢?本篇文章進(jìn)行學(xué)習(xí)SQL,來(lái)一起看看SQL中的UNION關(guān)鍵字,看看它要怎么使用,希望對(duì)大家有所幫助!

      SQL入門(mén)學(xué)習(xí)之淺析UNION關(guān)鍵字的用法

      SQL中的UNION關(guān)鍵字,將實(shí)現(xiàn)將多個(gè)查詢條件中的結(jié)果展示出來(lái)。

      UNION

      ??UNION的中文含義是聯(lián)合的意思,即合并兩個(gè)或多個(gè) SELECT 語(yǔ)句的結(jié)果。使用技巧如下:

      • UNION 內(nèi)部的每個(gè) SELECT 語(yǔ)句必須擁有相同數(shù)量的列。
      • 列必須擁有相似的數(shù)據(jù)類型。
      • 每個(gè) SELECT 語(yǔ)句中的列的順序必須相同。

      相同數(shù)量的列

      如下圖,使用上一章介紹的數(shù)據(jù)作為演示數(shù)據(jù)

      SQL入門(mén)學(xué)習(xí)之淺析UNION關(guān)鍵字的用法

      分別建立表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;

      測(cè)試數(shù)據(jù)如下:

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

      UNION 內(nèi)部的每個(gè) SELECT 語(yǔ)句必須擁有相同數(shù)量的列:先查詢具有相同列的SQL

      SELECT * FROM `s_user` UNION SELECT * FROM `s_user_1`

      查詢出所有的列,可以看到,執(zhí)行結(jié)果如下。

      SQL入門(mén)學(xué)習(xí)之淺析UNION關(guān)鍵字的用法

      如果第一個(gè)查詢是所有列,第二個(gè)查詢是三個(gè)字段,那么查詢結(jié)果又是怎么樣呢,現(xiàn)在執(zhí)行如下SQL:

      錯(cuò)誤用法

      SELECT * FROM `s_user` UNION SELECT userid,name,pass_word FROM `s_user_1`

      SQL入門(mén)學(xué)習(xí)之淺析UNION關(guān)鍵字的用法

      錯(cuò)誤提示:使用的SELECT語(yǔ)句查詢出不同的列數(shù)

      正確用法

      SELECT userid,name,pass_word  FROM `s_user` UNION SELECT userid,name,pass_word FROM `s_user_1`

      SQL入門(mén)學(xué)習(xí)之淺析UNION關(guān)鍵字的用法

      數(shù)據(jù)類型

      ??上面看到了多個(gè)查詢的列數(shù)必須相同,那么查詢出的列數(shù)如果相同,查詢字段的數(shù)據(jù)類型不同,是否可正常處理呢?下面將s_user查詢中的pass_word換成create_time,進(jìn)行查詢。通過(guò)查詢之后可以看到。在SQL查詢中,列的數(shù)據(jù)類型是無(wú)關(guān)的。當(dāng)然實(shí)際業(yè)務(wù)中是不會(huì)將其設(shè)置成不同的類型的。

      SELECT userid,name,create_time  FROM `s_user` UNION SELECT pass_word,name,userid FROM `s_user_1`

      SQL入門(mén)學(xué)習(xí)之淺析UNION關(guān)鍵字的用法

      列順序

      ??在使用UNION關(guān)鍵字進(jìn)行查詢時(shí),是否和列的順序有關(guān)呢,上面看到可能和列的順序有關(guān),可能也是無(wú)關(guān)的,那么進(jìn)行一下測(cè)試??梢钥吹綀?zhí)行結(jié)果是和列的順序無(wú)關(guān)的。在實(shí)際業(yè)務(wù)中是合并多個(gè)查詢,因此我們?cè)陧?xiàng)目中定義是需要列的順序一致的。

      SELECT create_time,userid,name  FROM `s_user` UNION SELECT pass_word,name,userid FROM `s_user_1`

      SQL入門(mén)學(xué)習(xí)之淺析UNION關(guān)鍵字的用法

      UNION 和 UNION ALL區(qū)別

      ??為了測(cè)試UNION 和 UNION ALL區(qū)別需要在數(shù)據(jù)表s_user_1中增加【小白】,與表s_user中的【小白】都存在數(shù)據(jù)庫(kù)中,兩個(gè)會(huì)有什么不同結(jié)果呢。

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

      SQL入門(mén)學(xué)習(xí)之淺析UNION關(guān)鍵字的用法

      首先執(zhí)行:

      SELECT user_name,name,pass_word,salt FROM `s_user` UNION SELECT user_name,name,pass_word,salt FROM `s_user_1`

      執(zhí)行結(jié)果:

      SQL入門(mén)學(xué)習(xí)之淺析UNION關(guān)鍵字的用法

      再次執(zhí)行

      SELECT user_name,name,pass_word,salt FROM `s_user` UNION ALL SELECT user_name,name,pass_word,salt FROM `s_user_1`

      執(zhí)行結(jié)果:

      SQL入門(mén)學(xué)習(xí)之淺析UNION關(guān)鍵字的用法

      ??可以看到UNION關(guān)聯(lián)的去除了重復(fù)項(xiàng),而UNION ALL查詢出了所有的值,沒(méi)有去除重復(fù)數(shù)據(jù)。

      結(jié)語(yǔ)

      ??好了,

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)