国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質的職業(yè)教育機構

            手機站
            千鋒教育

            千鋒學習站 | 隨時隨地免費學

            千鋒教育

            掃一掃進入千鋒手機站

            領取全套視頻
            千鋒教育

            關注千鋒學習站小程序
            隨時隨地免費學習課程

            當前位置:首頁  >  技術干貨  > 全方位揭秘!大數據從0到1的完美落地之Mysql操作DQL

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

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

              DQL是數據查詢語言(Data Query Language)的縮寫,是一種用于從數據庫中檢索數據的編程語言。DQL是SQL(結構化查詢語言)的子集,用于查詢關系型數據庫,例如MySQL、Oracle和SQL Server等。

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

              DQL還支持多表查詢和子查詢,可以從多個表中聯合檢索數據,并在子查詢中使用嵌套查詢語句進行檢索。

              基礎的查詢語法

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

              查詢語句的執(zhí)行順序

              先執(zhí)行from子句: 基于表進行查詢操作

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

              再執(zhí)行group by子句: 對剩下的數據進行分組查詢。

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

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

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

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

              準備數據

              在學習接下來的查詢的語法之前,我們提前準備幾張表,并向這張表中插入一些數據,方便我們之后的查詢操作。

              student表

            12

            13

              emp表

            14

            15

              dept表

            16

              基礎查詢

              1.查詢所有列

            17

              2.查詢指定列

            18

              條件查詢

              條件查詢就是在查詢時給出WHERE子句,在WHERE子句中可以使用如下運算符及關鍵字:

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

              1.查詢性別為女,并且年齡小于50的記錄

            19

              2.查詢學號為S_1001,或者姓名為liSi的記錄

            20

              3.查詢學號為S_1001,S_1002,S_1003的記錄

            21

              模糊查詢

              按照模糊的條件進行查詢,可以使用LIKE條件,或者REGEXP。

              like

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

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

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

            22

              regexp

              使用正則表達式進行字符串的匹配。

            23

              字段控制

              去除重復記錄

              去除重復記錄(兩行或兩行以上記錄中系列的上的數據都相同),例如emp表中sal字段就存在相同的記錄。當只查詢emp表的sal字段時,那么會出現重復記錄,那么想去除重復記錄,需要使用DISTINCT:

            24

              列之間的計算

              查看雇員的月薪與傭金之和,因為sal和comm兩列的類型都是數值類型,所以可以做加運算。如果sal或comm中有一個字段不是數值類型,那么會出錯。

            25

              comm列有很多記錄的值為NULL,因為任何東西與NULL相加結果還是NULL,所以結算結果可能會出現NULL。下面使用了把NULL轉換成數值0的函數IFNULL

            26

              給列名添加別名

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

            27

              給列起別名時,是可以省略AS關鍵字的:

            28

              結果排序

              1.查詢所有學生記錄,按年齡升序排序

            29

              2.查詢所有學生記錄,按年齡降序排序

            30

              3.查詢所有雇員,按月薪降序排序,如果月薪相同時,按編號升序排序

            31

              聚合函數

              聚合函數,是作用在一列數據上的,對一列的數據進行運算的函數。包含有: max、min、sum、count、avg等常見的函數。

              max(): 計算指定列數據的最大值

              min(): 計算指定列數據的最小值

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

              sum(): 計算指定列的數值的和,如果計算的列的類型不是數值類型,計算結果為0

              avg(): 計算指定列的數值的平均值,如果計算的列的類型不是數值類型,計算的結果為0

              使用方法如下:

              max

            32


              min

            33


              count

            34

              sum

            35

              avg

            36

              注意:

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

              例如: 表中一共有20行數據,有2行數據是NULL。那么平均值在計算的時候,會將每一個人的工資加到一起,用這個和除18,而并不是20。因為聚合函數不會統(tǒng)計NULL值的。

              如果需求需要將這個和均攤到每一個人的身上,包括NULL的行,那就需要對這條SQL語句進行修改了:

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

              分組查詢

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

              注意事項: 查詢的字段中只能包含分組字段和聚合函數

              group by

            37

              having

              having是一個數據過濾的控制條件,類似于where,但是又和where有不同的地方:

              having是作用在分組之后的數據的,where是作用在分組之前的數據的。被where過濾掉的數據不參與分組。

              寫法體現: having需要寫在group by之后,where需要寫在group by之前。

              having之后可以使用聚合函數,where不可以使用聚合函數。

            38

              imit

              select查詢語句會查詢出來一張表中所有的滿足條件的數據。limit關鍵字可以限制查詢結果的行數。

            39

              靈活的使用limit,可以實現分頁查詢的效果。

            40

              查詢總結

              查詢語句書寫順序

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

              查詢語句執(zhí)行順序

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

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