91aaa在线国内观看,亚洲AV午夜福利精品一区二区,久久偷拍人视频,久久播这里有免费视播

<strong id="fvuar"></strong>

  • <sub id="fvuar"><dl id="fvuar"><em id="fvuar"></em></dl></sub>

    1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

      手機(jī)站
      千鋒教育

      千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

      千鋒教育

      掃一掃進(jìn)入千鋒手機(jī)站

      領(lǐng)取全套視頻
      千鋒教育

      關(guān)注千鋒學(xué)習(xí)站小程序
      隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

      當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > 全方位揭秘!大數(shù)據(jù)從0到1的完美落地之Mysql操作DQL

      全方位揭秘!大數(shù)據(jù)從0到1的完美落地之Mysql操作DQL

      來(lái)源:千鋒教育
      發(fā)布人:syq
      時(shí)間: 2023-03-20 14:23:00 1679293380

        DQL是數(shù)據(jù)查詢(xún)語(yǔ)言(Data Query Language)的縮寫(xiě),是一種用于從數(shù)據(jù)庫(kù)中檢索數(shù)據(jù)的編程語(yǔ)言。DQL是SQL(結(jié)構(gòu)化查詢(xún)語(yǔ)言)的子集,用于查詢(xún)關(guān)系型數(shù)據(jù)庫(kù),例如MySQL、Oracle和SQL Server等。

        DQL提供了多種查詢(xún)操作,如SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY等。使用這些操作,可以根據(jù)特定的條件檢索所需的數(shù)據(jù),并按照特定的順序進(jìn)行排序和分組。

        DQL還支持多表查詢(xún)和子查詢(xún),可以從多個(gè)表中聯(lián)合檢索數(shù)據(jù),并在子查詢(xún)中使用嵌套查詢(xún)語(yǔ)句進(jìn)行檢索。

        基礎(chǔ)的查詢(xún)語(yǔ)法

      select ... from ...select [distinct] ... from ... [where ...] [group by ...] [having ...] [order by ...] [limit ...]

        查詢(xún)語(yǔ)句的執(zhí)行順序

        先執(zhí)行from子句: 基于表進(jìn)行查詢(xún)操作

        再執(zhí)行where子句: 進(jìn)行條件篩選或者條件過(guò)濾

        再執(zhí)行g(shù)roup by子句: 對(duì)剩下的數(shù)據(jù)進(jìn)行分組查詢(xún)。

        再執(zhí)行having子句: 分組后,再次條件篩選或過(guò)濾

        然后執(zhí)行select子句: 目的是選擇業(yè)務(wù)需求的字段進(jìn)行顯示

        再執(zhí)行order by子句: 對(duì)選擇后的字段進(jìn)行排序

        最后執(zhí)行l(wèi)imit子句: 進(jìn)行分頁(yè)查詢(xún),或者是查詢(xún)前n條記錄

        準(zhǔn)備數(shù)據(jù)

        在學(xué)習(xí)接下來(lái)的查詢(xún)的語(yǔ)法之前,我們提前準(zhǔn)備幾張表,并向這張表中插入一些數(shù)據(jù),方便我們之后的查詢(xún)操作。

        student表

      12

      13

        emp表

      14

      15

        dept表

      16

        基礎(chǔ)查詢(xún)

        1.查詢(xún)所有列

      17

        2.查詢(xún)指定列

      18

        條件查詢(xún)

        條件查詢(xún)就是在查詢(xún)時(shí)給出WHERE子句,在WHERE子句中可以使用如下運(yùn)算符及關(guān)鍵字:

        =、!=、<>、<、<=、>、>=、BETWEEN…AND、IN(set)、IS NULL、AND、OR、NOT、XOR (邏輯異或)

        1.查詢(xún)性別為女,并且年齡小于50的記錄

      19

        2.查詢(xún)學(xué)號(hào)為S_1001,或者姓名為liSi的記錄

      20

        3.查詢(xún)學(xué)號(hào)為S_1001,S_1002,S_1003的記錄

      21

        模糊查詢(xún)

        按照模糊的條件進(jìn)行查詢(xún),可以使用LIKE條件,或者REGEXP。

        like

        like用于where子句之后,表示部分的匹配。在like后,通常會(huì)有兩種通配符:

        _ => 表示匹配任意的一位字符。

        % => 表示匹配任意位的字符。

      22

        regexp

        使用正則表達(dá)式進(jìn)行字符串的匹配。

      23

        字段控制

        去除重復(fù)記錄

        去除重復(fù)記錄(兩行或兩行以上記錄中系列的上的數(shù)據(jù)都相同),例如emp表中sal字段就存在相同的記錄。當(dāng)只查詢(xún)emp表的sal字段時(shí),那么會(huì)出現(xiàn)重復(fù)記錄,那么想去除重復(fù)記錄,需要使用DISTINCT:

      24

        列之間的計(jì)算

        查看雇員的月薪與傭金之和,因?yàn)閟al和comm兩列的類(lèi)型都是數(shù)值類(lèi)型,所以可以做加運(yùn)算。如果sal或comm中有一個(gè)字段不是數(shù)值類(lèi)型,那么會(huì)出錯(cuò)。

      25

        comm列有很多記錄的值為NULL,因?yàn)槿魏螙|西與NULL相加結(jié)果還是NULL,所以結(jié)算結(jié)果可能會(huì)出現(xiàn)NULL。下面使用了把NULL轉(zhuǎn)換成數(shù)值0的函數(shù)IFNULL

      26

        給列名添加別名

        在上面查詢(xún)中出現(xiàn)列名為sal+IFNULL(comm,0),這很不美觀,現(xiàn)在我們給這一列給出一個(gè)別名,為total:

      27

        給列起別名時(shí),是可以省略AS關(guān)鍵字的:

      28

        結(jié)果排序

        1.查詢(xún)所有學(xué)生記錄,按年齡升序排序

      29

        2.查詢(xún)所有學(xué)生記錄,按年齡降序排序

      30

        3.查詢(xún)所有雇員,按月薪降序排序,如果月薪相同時(shí),按編號(hào)升序排序

      31

        聚合函數(shù)

        聚合函數(shù),是作用在一列數(shù)據(jù)上的,對(duì)一列的數(shù)據(jù)進(jìn)行運(yùn)算的函數(shù)。包含有: max、min、sum、count、avg等常見(jiàn)的函數(shù)。

        max(): 計(jì)算指定列數(shù)據(jù)的最大值

        min(): 計(jì)算指定列數(shù)據(jù)的最小值

        count(): 計(jì)算指定列不為NULL的數(shù)據(jù)的數(shù)量

        sum(): 計(jì)算指定列的數(shù)值的和,如果計(jì)算的列的類(lèi)型不是數(shù)值類(lèi)型,計(jì)算結(jié)果為0

        avg(): 計(jì)算指定列的數(shù)值的平均值,如果計(jì)算的列的類(lèi)型不是數(shù)值類(lèi)型,計(jì)算的結(jié)果為0

        使用方法如下:

        max

      32


        min

      33


        count

      34

        sum

      35

        avg

      36

        注意:

        在上述的需求中,我們需要統(tǒng)計(jì)員工的平均工資。但是,有些行的數(shù)據(jù)中,工資(sal)對(duì)應(yīng)的值是NULL。

        例如: 表中一共有20行數(shù)據(jù),有2行數(shù)據(jù)是NULL。那么平均值在計(jì)算的時(shí)候,會(huì)將每一個(gè)人的工資加到一起,用這個(gè)和除18,而并不是20。因?yàn)榫酆虾瘮?shù)不會(huì)統(tǒng)計(jì)NULL值的。

        如果需求需要將這個(gè)和均攤到每一個(gè)人的身上,包括NULL的行,那就需要對(duì)這條SQL語(yǔ)句進(jìn)行修改了:

        select avg(ifnull(sal, 0)) from emp;

        分組查詢(xún)

        在進(jìn)行查詢(xún)的時(shí)候,可以按照某一個(gè)或多個(gè)字段進(jìn)行分組。分組字段值相同的行會(huì)被視為一個(gè)分組。一般情況下,分組的意義是對(duì)每一個(gè)分組的數(shù)據(jù)進(jìn)行聚合的統(tǒng)計(jì),例如統(tǒng)計(jì)每一個(gè)分組的數(shù)量、最大值等操作。

        注意事項(xiàng): 查詢(xún)的字段中只能包含分組字段和聚合函數(shù)

        group by

      37

        having

        having是一個(gè)數(shù)據(jù)過(guò)濾的控制條件,類(lèi)似于where,但是又和where有不同的地方:

        having是作用在分組之后的數(shù)據(jù)的,where是作用在分組之前的數(shù)據(jù)的。被where過(guò)濾掉的數(shù)據(jù)不參與分組。

        寫(xiě)法體現(xiàn): having需要寫(xiě)在group by之后,where需要寫(xiě)在group by之前。

        having之后可以使用聚合函數(shù),where不可以使用聚合函數(shù)。

      38

        imit

        select查詢(xún)語(yǔ)句會(huì)查詢(xún)出來(lái)一張表中所有的滿(mǎn)足條件的數(shù)據(jù)。limit關(guān)鍵字可以限制查詢(xún)結(jié)果的行數(shù)。

      39

        靈活的使用limit,可以實(shí)現(xiàn)分頁(yè)查詢(xún)的效果。

      40

        查詢(xún)總結(jié)

        查詢(xún)語(yǔ)句書(shū)寫(xiě)順序

        select – from - where - group by - having - order by - limit

        查詢(xún)語(yǔ)句執(zhí)行順序

        from - where -group by - having - select - order by-limit

      tags:
      聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
      10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
      請(qǐng)您保持通訊暢通,專(zhuān)屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
      免費(fèi)領(lǐng)取
      今日已有369人領(lǐng)取成功
      劉同學(xué) 138****2860 剛剛成功領(lǐng)取
      王同學(xué) 131****2015 剛剛成功領(lǐng)取
      張同學(xué) 133****4652 剛剛成功領(lǐng)取
      李同學(xué) 135****8607 剛剛成功領(lǐng)取
      楊同學(xué) 132****5667 剛剛成功領(lǐng)取
      岳同學(xué) 134****6652 剛剛成功領(lǐng)取
      梁同學(xué) 157****2950 剛剛成功領(lǐng)取
      劉同學(xué) 189****1015 剛剛成功領(lǐng)取
      張同學(xué) 155****4678 剛剛成功領(lǐng)取
      鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
      董同學(xué) 138****2867 剛剛成功領(lǐng)取
      周同學(xué) 136****3602 剛剛成功領(lǐng)取
      相關(guān)推薦HOT
      python字符串截取?

      在Python中,字符串是一種非常常見(jiàn)的數(shù)據(jù)類(lèi)型,它可以用來(lái)表示文本、數(shù)字、符號(hào)等內(nèi)容。在實(shí)際應(yīng)用中,我們經(jīng)常需要對(duì)字符串進(jìn)行截取,以便獲取...詳情>>

      2023-11-02 17:56:27
      Python socket C/S結(jié)構(gòu)的聊天室應(yīng)用實(shí)現(xiàn)?

      隨著互聯(lián)網(wǎng)的發(fā)展,聊天室應(yīng)用成為人們?nèi)粘I钪惺殖R?jiàn)的一種社交方式。Python語(yǔ)言的Socket模塊是實(shí)現(xiàn)網(wǎng)絡(luò)通信的重要工具,可以輕松地實(shí)現(xiàn)C/...詳情>>

      2023-11-02 17:53:38
      用while求1到100的奇數(shù)和?

      在計(jì)算機(jī)編程中,循環(huán)語(yǔ)句是非常重要的一部分。而while語(yǔ)句是其中最基本也是最常用的一種。它的作用是在滿(mǎn)足一定條件的情況下,重復(fù)執(zhí)行一段代...詳情>>

      2023-11-02 17:50:57
      python創(chuàng)建一個(gè)集合?

      在Python中,集合是一種無(wú)序且不重復(fù)的數(shù)據(jù)類(lèi)型,可以用于存儲(chǔ)一組元素。創(chuàng)建一個(gè)集合非常簡(jiǎn)單,只需要使用大括號(hào){}或者set()函數(shù)即可。使用大...詳情>>

      2023-11-02 17:34:02
      linux改文件屬主命令?

      Linux文件相關(guān)命令1、命令一:cat cat命令應(yīng)該是在Linux中查看文件內(nèi)容最常見(jiàn)的命令了。使用cat命令會(huì)打印指定文件的所有內(nèi)容到標(biāo)準(zhǔn)輸出上,比...詳情>>

      2023-10-31 19:58:15