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

          Mysql查詢語句進(jìn)階知識(shí)集錦

          共 3244字,需瀏覽 7分鐘

           ·

          2021-03-16 14:48

          點(diǎn)擊上方“IT共享之家”,進(jìn)行關(guān)注

          回復(fù)“資料”可獲贈(zèng)Python學(xué)習(xí)福利

          長(zhǎng)安一片月,萬戶搗衣聲。

          前言

          上次咱們簡(jiǎn)單的學(xué)習(xí)了一下select的用法,一篇文章教會(huì)你進(jìn)行Mysql數(shù)據(jù)庫和數(shù)據(jù)表的基本操作,對(duì)數(shù)據(jù)庫大概有了一些基本的了解。

          咱們接著上次繼續(xù)來看叭!


          查詢

          數(shù)據(jù)如下

          or查詢

          我們?cè)谏蠈W(xué)時(shí),會(huì)聽到這樣的話,某某某,你把誰誰誰或者誰誰誰叫過來。

          這樣子的話,我們我們要查詢的,就是一個(gè)或(or)的關(guān)系了。

          or查詢只有滿足一個(gè)條件即可

          sql

          -- 語法SELECT * from student WHERE <條件> or <條件> ...;-- 例如,查詢姓名為張三的或者姓名為小劉的數(shù)據(jù)SELECT * from student WHERE name="張三" or name="小劉";

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

          不等于(!=)查詢

          上述我們查詢的,都是等于(=)操作,但是我們?cè)谏蠈W(xué)時(shí),還會(huì)有這種情況。

          某個(gè)學(xué)生學(xué)習(xí)可好,背東西背的可快,放學(xué)的時(shí)候可能就人家一個(gè)人過了,這時(shí)候老師可能就說

          除了某某某,其他學(xué)生本篇文章全部抄3遍,淦。。。

          所以這時(shí)候就是反過來的查詢的,只需要排除某個(gè)人即可!

          sql

          -- 語法SELECT * from student WHERE <條件>;-- 例如,查詢姓名不是張三的其他人,排除張三SELECT * from student WHERE name!="張三";

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

          in/not in查詢

          學(xué)生們還都是年輕人,年齡大概都在20來歲,這時(shí)候老師說,班長(zhǎng),把年齡在19,20,21的人統(tǒng)計(jì)一下!

          根據(jù)上述我們學(xué)過的知識(shí),可能你是這樣?jì)鸬摹?/span>

          SELECT * from student WHERE age=19 or age=20 or age=21;

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

          通過三個(gè)or找到,其實(shí)這樣也沒錯(cuò),但是還有一種更簡(jiǎn)單的。

          sql

          -- 語法SELECT * from student WHERE <列名> in (值1,值2,...) ...;-- 例如,需求同上SELECT * from student WHERE age in (19,20,21);

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

          not in 就是不在這個(gè)范圍的數(shù)據(jù)啦!

          sql

          -- 查詢年齡不在19,20,21范圍的數(shù)據(jù)SELECT * from student WHERE age not in (19,20,21);

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

          between查詢

          between適合進(jìn)行范圍查詢!

          sql

          -- 語法select * fromwhere <列> between <開始范圍> and <結(jié)束范圍>;-- 例如,查詢年齡時(shí)20-22歲的學(xué)生SELECT * from student WHERE age BETWEEN 20 and 22;

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

          同理,between還能用在時(shí)間上。

          select * from <表名> where <時(shí)間列> between <開始時(shí)間> and <結(jié)束時(shí)間>

          模糊查詢(like)

          假設(shè)現(xiàn)在數(shù)據(jù)如下,有三個(gè)姓張的。

          老師可能突然有一天對(duì)你說,班長(zhǎng),把咱們姓張的列出來,我找他們談點(diǎn)事,咋辦???

          我們只需要找,是以張開頭的,后面是啥無所謂。

          所以就要用到like模糊查詢。

          sql

          -- 語法 %表示匹配一個(gè)或多個(gè)字符select * fromwhere <列> like '[%]<字符串>[%]'-- 例如,查詢,以張開頭的SELECT * from student WHERE name like "張%";

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

          同理,這個(gè)%可以放在任意位置,他就是充當(dāng)不確定的字符使用的,能夠自動(dòng)匹配一個(gè)或多個(gè)。

          例如

          ... WHERE name like "張%豐";
          匹配:張三豐
          WHERE name like "%魚";
          匹配:張甲魚
          WHERE name like "李%";
          匹配:李四
          ...

          限制(limit)

          限制這個(gè)有點(diǎn)怪異,還是圖片舉例比較好。

          數(shù)據(jù)如下

          sql

          -- 前兩行SELECT * from student LIMIT 2;

          -- 從第2行開始后,再取4行SELECT * from student LIMIT 2,4;-- 同上,寫法不同SELECT * from student LIMIT 4 OFFSET 2

          排序(order by)

          不知道你有沒有發(fā)現(xiàn),我們之前查找的順序都是正向的。

          但是會(huì)有個(gè)問題,我們新增的數(shù)據(jù),其實(shí)id是最大的,理論來說,應(yīng)該要排在最前面。

          所以,應(yīng)該是倒序的是最好的。

          sql

          -- 語法select * from <表名> order by <列> asc -- 從小到大排序select * from <表名> order by <列> desc -- 從大到小排序select * from <表名> order by <列1> desc,<列2> asc -- 先根據(jù) 列1 排序,如果數(shù)據(jù)相同,按照 列2 排序

          例如

          根據(jù)id正向排序

          SELECT * from student ORDER BY id ASC;

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

          根據(jù)id反向排序

          SELECT * from student ORDER BY id desc;

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

          hhh,這樣我們就把數(shù)據(jù)反過來了!??!

          分組(groupby)

          分組,這個(gè)可能是難為了一批人,其實(shí)分組的核心,在于理解這個(gè)壓縮這個(gè)概念。

          假設(shè)數(shù)據(jù)如下

          性別有男有女,如果我想知道,男的有多少個(gè),女的有多少個(gè)怎么辦???我總不能數(shù)吧。。。

          所以這時(shí)候,如果能吧,男的都拿出來,女的都拿出來,就像這樣!

          然后我對(duì)拿出來進(jìn)行壓縮成一條。

          如果這個(gè)你懂了,那分組就懂了。


          語法

          SELECT <列>,COUNT(<列>) from student GROUP BY <列>;-- 因?yàn)榉纸M了某個(gè)列,所以就不能再展示其他列的信息了,因?yàn)閴涸谝粔K了,顯示不了-- 但是可以通過count,sum等函數(shù)計(jì)算壓縮的個(gè)數(shù),或者總值

          例如

          統(tǒng)計(jì)男女各多少人

          SELECT gender,COUNT(gender) from student GROUP BY gender;

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

          統(tǒng)計(jì)同一年齡多少人

          SELECT age,COUNT(age) as "數(shù)量" from student GROUP BY age;

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

          注意:group by必須在where之后,order by之前。


          總結(jié)

          本篇主要講述的是Mysql查詢語法,再單表查詢中,基本上就上述這么些的內(nèi)容,但是從理論到事件,是需要時(shí)間的。

          一定要勤加練習(xí),什么是or查詢,like查詢注意事項(xiàng),尤其是group by分組查詢,一定要多多思考和聯(lián)系。

          如果在操作過程中有任何問題,記得下面留言,我們看到會(huì)第一時(shí)間解決問題。

          不要輕易改變自己,因?yàn)槟憧赡芫褪鞘澜缟夏穷w未加工的最亮的鉆石。

          我是碼農(nóng)星期八,如果覺得還不錯(cuò),記得動(dòng)手點(diǎn)贊一下哈。

          感謝你的觀看。

          如果在操作過程中有任何問題,記得下面留言,我們看到會(huì)第一時(shí)間解決問題。

          看完本文有收獲?請(qǐng)轉(zhuǎn)發(fā)分享給更多的人

          IT共享之家

          入群請(qǐng)?jiān)谖⑿藕笈_(tái)回復(fù)【入群】

          ------------------- End -------------------

          往期精彩文章推薦:

          瀏覽 121
          點(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>
                  乱伦婷婷五月天 | 黄色一级片在线 | 欧美另类成人 | 国产又粗又猛又爽又黄的视频网站 | 最新国产成人在线观看 |