成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一篇帶給你MySQL查詢語句進階知識集錦

數據庫 MySQL
本篇主要講述的是Mysql查詢語法,再單表查詢中,基本上就上述這么些的內容,但是從理論到事件,是需要時間的。

前言

上次咱們簡單的學習了一下select的用法,一篇文章教會你進行Mysql數據庫和數據表的基本操作,對數據庫大概有了一些基本的了解。

咱們接著上次繼續來看叭!

查詢

數據如下

 

or查詢

我們在上學時,會聽到這樣的話,某某某,你把誰誰誰或者誰誰誰叫過來。

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

or查詢只有滿足一個條件即可

sql

  1. -- 語法 
  2. SELECT * from student WHERE <條件> or <條件> ...; 
  3. -- 例如,查詢姓名為張三的或者姓名為小劉的數據 
  4. SELECT * from student WHERE name="張三" or name="小劉"

執行結果

 

不等于(!=)查詢

上述我們查詢的,都是等于(=)操作,但是我們在上學時,還會有這種情況。

某個學生學習可好,背東西背的可快,放學的時候可能就人家一個人過了,這時候老師可能就說

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

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

sql

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

執行結果

 

in/not in查詢

學生們還都是年輕人,年齡大概都在20來歲,這時候老師說,班長,把年齡在19,20,21的人統計一下!

根據上述我們學過的知識,可能你是這樣嬸的。

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

執行結果

 

通過三個or找到,其實這樣也沒錯,但是還有一種更簡單的。

sql

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

執行結果


not in 就是不在這個范圍的數據啦!

sql

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

執行結果

between查詢

between適合進行范圍查詢!

sql

  1. -- 語法 
  2. select * from 表 where <列> between <開始范圍> and <結束范圍>; 
  3. -- 例如,查詢年齡時20-22歲的學生 
  4. SELECT * from student WHERE age BETWEEN 20 and 22; 

執行結果

 

同理,between還能用在時間上。

  1. select * from <表名> where <時間列> between <開始時間> and <結束時間> 

模糊查詢(like)

假設現在數據如下,有三個姓張的。


老師可能突然有一天對你說,班長,把咱們姓張的列出來,我找他們談點事,咋辦???

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

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

sql

  1. -- 語法 %表示匹配一個或多個字符 
  2. select * from 表 where <列> like '[%]<字符串>[%]' 
  3. -- 例如,查詢,以張開頭的 
  4. SELECT * from student WHERE name like "張%"

執行結果

 

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

例如

  1. ... WHERE name like "張%豐"
  2. 匹配:張三豐 
  3. WHERE name like "%魚"
  4. 匹配:張甲魚 
  5. WHERE name like "李%"
  6. 匹配:李四 
  7. ... 

限制(limit)

限制這個有點怪異,還是圖片舉例比較好。

數據如下


sql

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

 

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

 

排序(order by)

不知道你有沒有發現,我們之前查找的順序都是正向的。

 

但是會有個問題,我們新增的數據,其實id是最大的,理論來說,應該要排在最前面。

所以,應該是倒序的是最好的。

sql

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

例如

根據id正向排序

  1. SELECT * from student ORDER BY id ASC

執行結果


根據id反向排序

  1. SELECT * from student ORDER BY id desc

執行結果

 

hhh,這樣我們就把數據反過來了!!!

分組(groupby)

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

假設數據如下

 

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

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

然后我對拿出來進行壓縮成一條。


如果這個你懂了,那分組就懂了。

語法

  1. SELECT <列>,COUNT(<列>) from student GROUP BY <列>; 
  2. -- 因為分組了某個列,所以就不能再展示其他列的信息了,因為壓在一塊了,顯示不了 
  3. -- 但是可以通過count,sum等函數計算壓縮的個數,或者總值 

例如

統計男女各多少人

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

執行結果

 

統計同一年齡多少人

  1. SELECT age,COUNT(age) as "數量" from student GROUP BY age; 

執行結果

 

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

總結

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

一定要勤加練習,什么是or查詢,like查詢注意事項,尤其是group by分組查詢,一定要多多思考和聯系。

不要輕易改變自己,因為你可能就是世界上那顆未加工的最亮的鉆石。

 感謝你的觀看。

 

責任編輯:姜華 來源: IT共享之家
相關推薦

2022-03-03 09:05:17

索引MySQL數據查詢

2021-05-10 07:38:09

Swift 泛型Tips

2021-04-01 10:51:55

MySQL鎖機制數據庫

2021-03-12 09:21:31

MySQL數據庫邏輯架構

2021-03-15 10:01:40

Mysql查詢語句

2021-07-12 06:11:14

SkyWalking 儀表板UI篇

2021-09-06 08:31:11

Kafka架構主從架構

2021-03-18 08:53:44

MySQL數據庫索引

2021-06-21 14:36:46

Vite 前端工程化工具

2021-01-28 08:55:48

Elasticsear數據庫數據存儲

2023-03-29 07:45:58

VS編輯區編程工具

2021-04-14 14:16:58

HttpHttp協議網絡協議

2021-04-08 11:00:56

CountDownLaJava進階開發

2022-03-22 09:09:17

HookReact前端

2021-07-21 09:48:20

etcd-wal模塊解析數據庫

2022-02-17 08:53:38

ElasticSea集群部署

2022-04-29 14:38:49

class文件結構分析

2024-06-13 08:34:48

2021-10-28 08:51:53

GPIO軟件框架 Linux

2022-02-25 15:50:05

OpenHarmonToggle組件鴻蒙
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩一区二区久久 | 久久99这里只有精品 | 国产成人精品视频在线观看 | 欧洲视频一区二区 | 99re视频在线观看 | 国产伦精品一区二区三区照片91 | 亚洲综合久久久 | 国产精品久久久久免费 | 亚洲第一在线 | 日韩av免费在线电影 | 激情麻豆视频 | 精品一区二区三区在线观看国产 | 一区二区在线不卡 | 日本aaa视频 | 毛片一级片 | 草久在线 | 在线视频a | 亚洲成人久久久 | 一级二级三级在线观看 | 久久久久久久久久爱 | 亚洲第一成年免费网站 | 久久久人 | 日本不卡免费新一二三区 | 99精品免费久久久久久日本 | 午夜小电影 | 中文字幕一区在线观看视频 | 中文字幕成人网 | 四虎影院免费在线播放 | 日韩久久综合 | 作爱视频免费观看 | 成在线人视频免费视频 | 国产精品久久久久久一区二区三区 | 日韩精品专区在线影院重磅 | 国产福利一区二区 | 一区精品视频 | 91av视频| 亚洲欧美日韩精品久久亚洲区 | 伊人在线 | 一区二区三区在线 | 免费一区二区 | 美国a级毛片免费视频 |