<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          SQL練習(xí)筆記二:換座位

          共 745字,需瀏覽 2分鐘

           ·

          2020-12-20 17:26

          點(diǎn)擊上方藍(lán)字關(guān)注「網(wǎng)優(yōu)小兵玩Python

          ??


          題目:小美是一所中學(xué)的信息科技老師,她有一張 seat 座位表,平時(shí)用來(lái)儲(chǔ)存學(xué)生名字和與他們相對(duì)應(yīng)的座位 id。其中縱列的id是連續(xù)遞增的小美想改變相鄰倆學(xué)生的座位。

          注意:如果學(xué)生人數(shù)是奇數(shù),則不需要改變最后一個(gè)同學(xué)的座位。

          -- 創(chuàng)建seat表CREATE TABLE seat(  id int(4) not NULL,  student VARCHAR(10) not NULL);
          -- 插入數(shù)據(jù)INSERT INTO seat VALUE(1,'Abbot');INSERT INTO seat VALUE(2,'Doris');INSERT INTO seat VALUE(3,'Emerson');INSERT INTO seat VALUE(4,'Green');INSERT INTO seat VALUE(5,'Jeames');

          --?解法1:使用UNION憑借查詢結(jié)果SELECT  * FROM  (-- id為偶數(shù)則id-1 --  SELECT    id - 1 AS id,    student   FROM    seat   WHERE    id % 2 = 0 UNION ALL  SELECT-- id為非最大奇數(shù)則id加1 --    id + 1 AS id,    student   FROM    seat   WHERE    id % 2 <> 0     AND id <(    SELECT      max( id )     FROM      seat     ) UNION ALL  SELECT -- 查找最后一個(gè)id,且為奇數(shù) --    *   FROM    seat   WHERE    id =(    SELECT      max( id )     FROM      seat     )     AND id % 2 <> 0   ) AS temp ORDER BY  id;
          --?解法2:使用CASE條件分支判斷查詢SELECT  (  CASE       WHEN id%2= 1 AND id != ( SELECT MAX( id ) FROM seat ) THEN id + 1       WHEN id%2= 0 THEN  id - 1       ELSE id       END   ) AS id,  student FROM  seat ORDER BY  id;

          兩種查詢語(yǔ)句查詢結(jié)果如下:

          總結(jié):本題的知識(shí)點(diǎn)就是CASE條件分支,在不知道CASE之前,我使用了最笨的一種方法,分別查詢出奇數(shù)、偶數(shù)及最后一位的id再對(duì)id值進(jìn)行調(diào)整(奇數(shù)加1,偶數(shù)減1,最后一id值位不變),最后再將查詢結(jié)果進(jìn)行UNION拼接并ORDER BY升序排序,語(yǔ)句過(guò)于繁瑣冗長(zhǎng),其意思跟使用解法2中的CASE條件分支查詢一樣。


          網(wǎng)優(yōu)苦短,我用Python





          網(wǎng)優(yōu)小工具傳送門


          自動(dòng)擴(kuò)容

          4G網(wǎng)優(yōu)規(guī)劃工具

          同向最小站間距

          4/5G新開(kāi)站腳本制作

          號(hào)碼歸屬地查詢

          站間距計(jì)算工具

          圖片相似度核查工具

          載頻配置統(tǒng)計(jì)工具

          活動(dòng)保障

          瀏覽 59
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  高清无码视频免费版本在线观看 | 天堂网视频欧美 | 一级片在线视频播放 | 黄色免费在线观看电影 | 狼友视频免费在线观看 |