大白話聊聊MySQL查詢之五子句(知識簡單但重要)

前言:

在日常開發中,查詢數據占很大的比重,在使用 MySQL 數據庫進行查詢時,我們經常需要通過各種條件和規則來篩選和排序數據。要實現這些功能,就不得不使用以下這些子句:WHERE、ORDER BY、GROUP BY、HAVING 和 LIMIT。那,接下來,我就用簡單易懂的語言詳細介紹這些子句的作用和用法。

1. WHERE 子句

作用: WHERE 子句用于篩選數據,只返回滿足特定條件的記錄。就像你只挑選自己喜歡的東西一樣,WHERE 幫助你從數據中挑選出你需要的部分。

示例:
假設我們有一個員工表 employees,其中包含員工的姓名、年齡、部門等信息。如果我們只想找出年齡大于 30 歲的員工,可以這樣寫查詢語句:

SELECT * FROM employees
WHERE age > 30;

這個查詢語句的意思是:從 employees 表中選擇所有列(即 *),但只返回年齡大于 30 的記錄。

2. ORDER BY 子句

作用: ORDER BY 子句用于對結果進行排序。就像你整理書籍時按字母順序排列一樣,ORDER BY 可以讓你按指定的列進行升序或降序排序。

示例:
如果我們想按員工的姓氏升序排列,并且在姓氏相同時按名字降序排列,可以這樣寫查詢語句:

SELECT * FROM employees
ORDER BY last_name ASC, first_name DESC;

這個查詢語句的意思是:先按姓氏(last_name)升序排列(ASC),如果有相同的姓氏,再按名字(first_name)降序排列(DESC)。

3. GROUP BY 子句

作用: GROUP BY 子句用于將數據按一個或多個列進行分組。想象一下,你在整理一個大型活動的報名信息,可以按部門或城市進行分組統計。

示例:
如果我們想按部門統計每個部門的員工數量,可以這樣寫查詢語句:

SELECT department, COUNT(*)
FROM employees
GROUP BY department;

這個查詢語句的意思是:按部門(department)分組,并統計每個部門的員工數量(COUNT(*))。

4. HAVING 子句

作用: HAVING 子句用于過濾分組后的結果。它有點像 WHERE 子句,但它是用來處理聚合函數的結果。

示例:
如果我們只想找出員工數超過 10 的部門,可以這樣寫查詢語句:

SELECT department, COUNT(*)
FROM employees
GROUP BY department
HAVING COUNT(*) > 10;

這個查詢語句的意思是:先按部門分組,再計算每個部門的員工數,最后只返回員工數大于 10 的部門。

5. LIMIT 子句

作用: LIMIT 子句用于限制返回的記錄數量。就像你只想從一個長長的購物清單中挑出前 5 個最需要的物品一樣,LIMIT 可以讓你只取出前幾條記錄。

示例:
如果我們只想查看前 5 條員工記錄,可以這樣寫查詢語句:

SELECT * FROM employees
LIMIT 5;

這個查詢語句的意思是:從 employees 表中選擇所有列,但只返回前 5 條記錄。

綜合示例

我們可以把上述這些子句組合在一起使用。假設我們需要找出年齡大于 30 歲、員工數超過 10 的部門,并按員工數降序排列,最后只顯示前三個部門,可以這樣寫查詢語句:

SELECT department, COUNT(*) as employee_count
FROM employees
WHERE age > 30
GROUP BY department
HAVING COUNT(*) > 10
ORDER BY employee_count DESC
LIMIT 3;

這個查詢語句做了以下幾件事:

  1. 使用 WHERE 子句篩選出年齡大于 30 歲的員工。
  2. 按部門進行分組。
  3. 計算每個部門的員工數,并過濾出員工數超過 10 的部門。
  4. 使用 ORDER BY 子句按員工數降序排列。
  5. 使用 LIMIT 子句只返回前 3 個部門。

通過這些子句的組合,我們可以靈活地從數據庫中獲取所需的數據,滿足各種查詢需求。希望這篇文章能幫助你更好地理解和使用 MySQL 的查詢語句。

注意事項!!!!!!

SELECT department, COUNT(*) as employee_count
FROM employees
WHERE age > 30                 -- 1.WHERE 子句
GROUP BY department            -- 2.GROUP BY子句
HAVING COUNT(*) > 10           -- 3.HAVING 子句
ORDER BY employee_count DESC   -- 4.ORDER BY子句
LIMIT 3;                       -- 5.LIMIT 子句

在我們使用的過程中,
1~5子句的順序不能顛倒!!!!!!!!!!!!!!
1~5子句的順序不能顛倒!!!!!!!!!!!!!!
1~5子句的順序不能顛倒!!!!!!!!!!!!!!
重要的事情說三遍

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/14619.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/14619.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/14619.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

物聯網層次架構設計

物聯網可以分為三個層次,底層是用來感知數據的感知層,即利用傳感器、二維碼、RFID等設備隨時隨地獲取物體的信息。第二層是數據傳輸處理的網絡層,即通過各種傳感網絡與互聯網的融合,將對象當前的信息實時準確地傳遞出去。第三層則…

忍の摸頭之術游戲娛樂源碼

本資源提供給大家學習及參考研究借鑒美工之用,請勿用于商業和非法用途,無任何技術支持! 忍の摸頭之術游戲娛樂源碼,抖音上面非常火的摸頭殺畫面,看得我眼花繚亂,源碼拿去玩吧; 目錄說明 忍の摸頭之術:域…

輕松同步:將照片從三星手機傳輸到iPad的簡便方法

概括 想要在新 iPad 上查看三星照片嗎?但是,如果您不知道如何將照片從三星手機傳輸到 iPad,則無法在 iPad 上查看圖片。為此,本文分享了 7 個有用的方法,以便您可以使用它們在不同操作系統之間輕松發送照片。現在&…

EfficientSAM分割對象后求其中圖像中的高

1 分割對象 EfficientSAM https://github.com/yformer/EfficientSAM 2 計算在圖像中最高點即y值最小點 import os import cv2def read_images(folder_path):image_files [f for f in os.listdir(folder_path) iff.endswith(".jpg") or f.endswith(".png&quo…

c語言之運算符練習題

C語言中的運算符是執行特定操作的符號,它們是編程中不可或缺的部分。C語言提供了多種類型的運算符,包括算術運算符、關系運算符、邏輯運算符、位運算符、賦值運算符等。以下是一些常見的C語言運算符練習題,可以幫助你熟悉和練習這些運算符的使…

虛擬化技術[1]之服務器虛擬化

文章目錄 虛擬化技術簡介數據中心虛擬化 服務器虛擬化服務器虛擬化層次寄居虛擬化裸機虛擬化VMM無法直接捕獲特權指令解決方案 服務器虛擬化底層實現CPU虛擬化內存虛擬化I/O設備虛擬化 虛擬機遷移虛擬機動態遷移遷移內容:內存遷移遷移內容:網絡資源遷移遷…

小短片創作-組裝場景(一)

1、項目基礎設置 通過第三人稱模板,創建1個項目 1.自動曝光:關閉,因為要做專業的小短片,曝光需要手動控制。 2.擴展自動曝光中的默認亮度范圍:啟用 3.全局光照系統:選擇屏幕空間光照(SSGI&am…

Transformer詳解常見面試問題

文章目錄 1. 各模塊解決1.1 輸入部分1.2 多頭注意力(作者使用8個頭)1.3 殘差和LayerNorm1.4 Decoder部分 2.Transformer經典問題2.1 tranformer為何使用多頭注意力機制?2.2 Transformer相比CNN的優缺點2.3 Encoder和decoder的區別&#xff1f…

Spring中RestTemplate用法

系列文章目錄 文章目錄 系列文章目錄前言 前言 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到網站,這篇文章男女通用,看懂了就去分享給你的碼吧。 RestTemplate 是從…

自編譯frida得一些記錄

frida編譯 這個過程坑肯定很多 但是只要大方向對得,解決掉每個小錯誤達到目的就ok得 # 就是想自己把frida代碼done下來改一改 然后看看git clone gitgithub.com:frida/frida.git git fetch git checkout 14.1.3# 下載node包管理工具 apt install nvm nvm install …

Web Speech API(1)—— SpeechRecognition

Web Speech API 使你能夠將語音數據合并到 Web 應用程序中。Web Speech API 有兩個部分:SpeechSynthesis 語音合成(文本到語音 TTS)和 SpeechRecognition 語音識別(異步語音識別)。 SpeechRecognition 語音識別通過 S…

axios案例應用

1、Spring概述 Spring 是分層的 Java SE/EE 應用 full-stack 輕量級開源框架,以 IoC(Inverse Of Control: 反轉控制)和 AOP(Aspect Oriented Programming:面向切面編程)為內核,提供了展現層 Spring MVC 和持久層。Spring JDBC 以及業務層事務管理等眾多…

day16|二叉樹的屬性

相關題目 ● 104.二叉樹的最大深度 559.n叉樹的最大深度 ● 111.二叉樹的最小深度 ● 222.完全二叉樹的節點個數 二叉樹的深度與高度 如圖, 二叉樹的深度表示:任意一個葉子節點到根節點的距離,是從上往下計數的,因此使用前序遍歷…

2024年甘肅特崗教師招聘報名流程,速速查收哦!

2024年甘肅特崗教師招聘報名流程,速速查收哦!

python-雞兔同籠問題:已知雞和兔的總頭數與總腳數。求籠中雞和兔各幾只?

【問題描述】典型的雞兔同籠問題。 【輸入形式】輸入總頭數和總腳數兩個實數:h,f 【輸出形式】籠中雞和兔的個數:x,y 【樣例輸入】16 40 【樣例輸出】雞12只,兔4只 【樣例說明】輸入輸出必須保證格式正確。…

AI大模型探索之路-訓練篇25:ChatGLM3微調實戰-基于LLaMA-Factory微調改造企業級知識庫

系列篇章💥 AI大模型探索之路-訓練篇1:大語言模型微調基礎認知 AI大模型探索之路-訓練篇2:大語言模型預訓練基礎認知 AI大模型探索之路-訓練篇3:大語言模型全景解讀 AI大模型探索之路-訓練篇4:大語言模型訓練數據集概…

CS西電高悅計網課設——校園網設計

校園網設計 一,需求分析 所有主機可以訪問外網 主機可以通過域名訪問Web服務器 為網絡配置靜態或者動態路由 圖書館主機通過DHCP自動獲取IP參數 為辦公樓劃分VLAN 為所有設備分配合適的IP地址和子網掩碼,IP地址的第二個字節使用學號的后兩位。 二…

ESP32 實現獲取天氣情況

按照小安派AiPi-Eyes天氣站思路,在ESP32 S3上實現獲取天氣情況。 一、在ESP32 S3實現 1、main.c 建立2個TASK void app_main(void) {//lvgl初始化xTaskCreate(guiTask, "guiTask", 1024 * 6, NULL, 5, NULL);//wifi初始化、socket、json處理taskcustom_…

ES6之數值的擴展

1. 數值的擴展 1.1. 二進制和八進制字面量表示:1.2. 數值判斷方法: 1.2.1. Number.isFinite() 檢查一個值是否為有限的數值。1.2.2. Number.isNaN() 更準確地檢測NaN值。1.2.3. 傳統的全局方法 isFinite() 和 isNaN() 的區別 1.3. 數值轉換方法:1.4. 整數檢查與精度: 1.4.1. Nu…

防火墻技術基礎篇:解析防火墻的網絡隔離機制

防火墻技術基礎篇:解析防火墻的網絡隔離機制 網絡安全在現代社會中扮演著重要的角色,保護網絡系統、用戶和數據免受未經授權的訪問、破壞和竊取。個人、企業和國家都需要加強網絡安全意識,采取有效措施保護自身的網絡安全。隨著網絡攻擊手段…