麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

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

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

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

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

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

來源:千鋒教育
發布人: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 ...]

  查詢語句的執行順序

  先執行from子句: 基于表進行查詢操作

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

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

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

  然后執行select子句: 目的是選擇業務需求的字段進行顯示

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

  最后執行limit子句: 進行分頁查詢,或者是查詢前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

  注意:

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

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

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

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

  分組查詢

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

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

  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

  查詢語句執行順序

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

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師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
主站蜘蛛池模板: 亚洲福利二区| 欧美xxxx做受欧美| 欧美乱大交xxxxx| 欧美高清在线精品一区| 午夜不卡av免费| 新人本田岬847正在播放| 国产免费观看青青草原网站| 啦啦啦手机完整免费高清观看 | 美国十次啦色| 成人毛片全部免费观看| 女人被男人狂躁视频免费 | 全彩熟睡侵犯h| 18男同少爷ktv飞机视频| 波多野结衣忆青春| 女人扒开裤子让男人捅| 美女大量吞精在线观看456| 国产精品久久福利网站| 大胸妈妈的朋友| 女人与公拘交酡过程高清视频| 精品久久人人做人人爽综合| 再灬再灬再灬深一点舒服| 亚洲精品中文字幕乱码三区| 亚洲码欧美码一区二区三区| 四虎永久网址在线观看| 在线视频一二三区2021不卡| 亚洲欧洲综合在线| 扒开腿狂躁女人爽出白浆| a级成人毛片免费视频高清| 美女张开腿让男人真实视频| 卡一卡2卡3高清乱码网| 国产浮力第一影院| 在线中文字幕第一页| 欧美人善交videosg| x8x8在线观看| 国产在线91区精品| 最近2019免费中文字幕视频三| 老司机带带我懂得视频| 波多野结衣精品一区二区三区| 生活片一级| 男人的好在线观看免费视频| 午夜不卡av免费|