SQL基礎-DQL 小結

SQL基礎-DQL 小結

  • 學習目標:
  • 學習內容:
      • SELECT
      • FROM
      • WHERE
      • GROUP BY
      • HAVING
      • ORDER BY
      • 運算符
      • ASC 和 DESC
  • 總結


學習目標:

  • 1.理解DQL(Data Query Language)的基本概念和作用。

  • 2.掌握SQL查詢的基本語法結構,包括SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY等子句的使用。

  • 3.理解并能夠使用WHERE子句進行條件篩選,包括邏輯運算符(AND、OR、NOT)和比較運算符(=、<>、>、<、>=、<=)的使用。

  • 4.掌握使用GROUP BY子句對查詢結果進行分組,并能夠使用聚合函數(如COUNT、SUM、AVG、MAX、MIN)進行數據的統計分析。

  • 5.學會使用HAVING子句對分組后的結果進行條件篩選。

  • 6.理解并能夠使用ORDER BY子句對查詢結果進行排序,包括單列排序和多列排序,以及使用ASC和DESC關鍵字指定排序方向。

  • 7.掌握子查詢的使用,包括在SELECT、FROM、WHERE子句中嵌套子查詢。

  • 8.理解并能夠使用DISTINCT關鍵字去除查詢結果中的重復記錄。

  • 9.學會使用LIMIT子句限制查詢結果的數量。


學習內容:

DQL(Data Query Language)是SQL(Structured Query Language)的一個重要組成部分,專門用于從數據庫中檢索數據。它允許用戶通過編寫查詢語句來請求數據庫中的信息,而無需修改數據本身。DQL的核心是SELECT語句,它是數據庫查詢中最常用的命令之一。

  • SELECT

SELECT 子句用于指定要從數據庫中檢索的列。可以是單個列名、多個列名,或者使用星號(*)來選擇所有列。

SELECT column1, column2, ...
FROM table_name;
  • FROM

FROM 子句用于指定要從哪個表或哪些表中檢索數據。

SELECT column1, column2, ...
FROM table_name;
  • WHERE

WHERE 子句用于過濾結果集,只返回滿足指定條件的記錄。

SELECT column1, column2, ...
FROM table_name
WHERE condition;
  • GROUP BY

GROUP BY 子句用于將結果集中的數據分組,通常與聚合函數一起使用,如COUNT(), SUM(), AVG(), MAX(), MIN()等。

SELECT column1, COUNT(column2)
FROM table_name
GROUP BY column1;
  • HAVING

HAVING 子句用于對GROUP BY子句返回的結果集進行條件過濾,類似于WHERE子句,但HAVING可以使用聚合函數。

SELECT column1, COUNT(column2)
FROM table_name
GROUP BY column1
HAVING COUNT(column2) > 10;
  • ORDER BY

ORDER BY 子句用于對結果集進行排序,可以指定一個或多個列,并且可以指定排序的方向(升序ASC或降序DESC)。

SELECT column1, column2, ...
FROM table_name
ORDER BY column1 ASC, column2 DESC;
  • 運算符

在SQL中,WHERE子句用于指定從數據庫表中檢索數據的條件。通過使用邏輯運算符(AND、OR、NOT)和比較運算符(=、<>、>、<、>=、<=),可以構建復雜的查詢條件來篩選數據。

以下是一些使用這些運算符的示例:

  1. 使用比較運算符:

    • = 等于
    • <> 不等于
    • > 大于
    • < 小于
    • >= 大于等于
    • <= 小于等于
  2. 使用邏輯運算符:

    • AND 用于組合多個條件,只有當所有條件都為真時,記錄才會被選中。
    • OR 用于組合多個條件,只要有一個條件為真,記錄就會被選中。
    • NOT 用于反轉條件的結果。

在使用這些運算符時,需要注意運算符的優先級。在SQL中,NOT 的優先級最高,其次是 AND,然后是 OR。如果不確定優先級,可以使用括號 () 來明確指定運算順序。

  • ASC 和 DESC

在SQL查詢中,ASCDESC 關鍵字用于指定列的排序方向。ASC 表示升序(從低到高),而 DESC 表示降序(從高到低)。默認情況下,如果沒有指定排序方向,SQL查詢將使用升序排序。

  1. 升序排序:
SELECT * FROM employees
ORDER BY salary ASC;

這個查詢將返回所有員工記錄,并按照工資升序排序。

  1. 降序排序:
SELECT * FROM employees
ORDER BY salary DESC;

這個查詢將返回所有員工記錄,并按照工資降序排序。

  1. 結合GROUP BYHAVING子句的排序:
SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department
HAVING AVG(salary) > 50000
ORDER BY avg_salary DESC;

這個查詢將返回每個部門的平均工資,并且只包括那些平均工資超過50,000的部門。結果將按照平均工資降序排序。


總結


圖片來源于https://www.bilibili.com/video/BV1Kr4y1i7ru?p=24&spm_id_from=pageDriver&vd_source=1f3140ce51cb028326bf69f5117609d8

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

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

相關文章

Linux文件編程(標準C庫)

目錄 一、標準C庫打開/創建文件&#xff0c;讀寫文件&#xff0c;光標移動 二、標準C庫寫入結構體到文件 三、其他函數補充 1.fputc函數 2.feof函數和fgetc函數 前面講到的open函數都是基于linux內核的&#xff0c;也就是說在Windows系統上無法運行&#xff0c;移植性比較…

使用simulink進行esp32開發,進行串口收發數據需要注意的地方,為什么收發不成功

1&#xff0c;主要是因為simulink里的配置文件配置的波特率和串口接受軟件配置的波特不一致導致的 2&#xff0c;主要有以下三個界面 a.配置文件 b.模型 模型直接選擇使用的是那組串口就行了&#xff0c;一般情況下我們收發使用同一組就可以&#xff0c;這樣收發模塊填寫的端…

20240711編譯友善之臂的NanoPC-T6開發板的Buildroot

20240711編譯友善之臂的NanoPC-T6開發板的Buildroot 2024/7/11 21:02 百度&#xff1a;nanopc t6 wiki https://wiki.friendlyelec.com/wiki/index.php/NanoPC-T6/zh NanoPC-T6/zh 4.4 安裝系統 4.4.1 下載固件 4.4.1.1 官方固件 訪問此處的下載地址下載固件文件 (位于網盤的&q…

社交媒體中智能品牌視覺識別系統的設計與應用

社交媒體中智能品牌視覺識別系統的設計與應用開題報告與任務書分析 一、引言 隨著社交媒體的蓬勃發展,品牌與消費者之間的互動日益頻繁,品牌視覺識別系統作為品牌傳播的重要載體,其設計與應用顯得尤為重要。特別是在智能技術的推動下,如何設計并應用智能品牌視覺識別系統…

【Python】已解決:ModuleNotFoundError: No module named ‘sklearn.cross_validation

文章目錄 一、問題背景二、可能出錯的原因三、錯誤代碼示例四、正確代碼示例五、注意事項 &#xff08;機器學習分割數據問題&#xff09;解決“ModuleNotFoundError: No module named ‘sklearn.cross_validation’” 一、問題背景 在機器學習的實踐中&#xff0c;數據分割是…

CSS技巧專欄:一日一例 4.純CSS實現兩款流光溢彩的酷炫按鈕特效

大家好&#xff0c;今天是 CSS技巧專欄&#xff1a;一日一例 第三篇《純CSS實現兩款流光溢彩的酷炫按鈕特效》 先看圖&#xff1a; 特此說明&#xff1a; 本專題專注于講解如何使用CSS制作按鈕特效。前置的準備工作和按鈕的基本樣式&#xff0c;都在本專欄第一篇文章中又詳細…

Python基礎教學之四:面向對象編程——邁向更高級編程

Python基礎教學之四&#xff1a;面向對象編程——邁向更高級編程 一、面向對象編程概念 1. 類和對象 定義&#xff1a;在面向對象編程(OOP)中&#xff0c;類是創建對象的模板&#xff0c;它定義了對象的屬性和方法。對象是類的實例&#xff0c;具體存在的實體&#xff0c;擁有…

socket編程(1)

socket編程 1. 預備知識點1.1 網絡字節序1.2 ip地址轉換函數1.3 sockaddr數據結構 最后 1. 預備知識點 1.1 網絡字節序 多字節數據有大端和小端之分&#xff0c;網絡數據流采用大端字節序&#xff0c;如果主機采用的是小端字節序&#xff0c;那么需要轉換。 大端&#xff1a…

ffmpeg和imagemagick制作gif動圖

from: https://blog.csdn.net/hufang360/article/details/107291163?ops_request_misc%257B%2522request%255Fid%2522%253A%2522167876076516800186587476%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id167876076516800186587476&biz_i…

【JavaScript 報錯】未捕獲的范圍錯誤:Uncaught RangeError

&#x1f525; 個人主頁&#xff1a;空白詩 文章目錄 一、錯誤原因分析1. 遞歸調用次數過多2. 數組長度超出限制3. 數值超出允許范圍 二、解決方案1. 限制遞歸深度2. 控制數組長度3. 檢查數值范圍 三、實例講解四、總結 Uncaught RangeError 是JavaScript中常見的一種錯誤&…

347. 前 K 個高頻元素(中等)

347. 前 K 個高頻元素 1. 題目描述2.詳細題解3.代碼實現3.1 Python3.2 Java 1. 題目描述 題目中轉&#xff1a;347. 前 K 個高頻元素 2.詳細題解 尋找出現頻率前 k k k高的元素&#xff0c;因此需要先統計各個元素出現的次數&#xff0c;該步驟時間復雜度為 O ( n ) O(n) O(n)…

柔性接觸力學及其建模仿真方法

柔性接觸力學是研究柔性體&#xff08;如柔性機器人、柔性結構等&#xff09;在接觸過程中產生的力學效應和相互作用的學科。它涉及到接觸力的計算、接觸變形的分析以及接觸過程中的能量轉換等多個方面。由于柔性體具有變形能力&#xff0c;其接觸過程往往比剛性體接觸更為復雜…

Transformer學習過程中常見的問題與解決方案 - Transformer教程

在機器學習領域&#xff0c;Transformer模型已經成為了處理自然語言處理&#xff08;NLP&#xff09;任務的主流工具。然而&#xff0c;在學習和使用Transformer的過程中&#xff0c;很多人會遇到各種各樣的問題。今天我們就來聊一聊Transformer學習過程中常見的問題以及對應的…

C++模板總結

文章目錄 寫在前面1. 函數模板1.1 函數模板的概念1.2 函數模板的原理1.3 函數模板的實例化1.4 函數模板的實例化模板參數的匹配原則 2. 類模板3. 非類型模板參數4. 模板的特化4.1 概念4.2 函數模板特化4.3 類模板特化 5. 模板分離編譯6. 總結 寫在前面 進入C以后&#xff0c;C…

智能小車——初步想法

需要參考輪趣的智能小車自己搭建一臺智能機器人&#xff0c;這里從底層控制開始逐步搭建。 控制模式 之后要自行搭建智能小車&#xff0c;所以將輪趣的底盤代碼進行學習&#xff0c;根據開發手冊先大致過一遍需要的內容。 有做很多個控制方法&#xff0c;包括了手柄、串口、…

MySQL中的JOIN、LEFT JOIN、RIGHT JOIN講解

在 MySQL 中&#xff0c;JOIN 是一種非常強大的功能&#xff0c;它允許你將兩個或多個表中的行結合起來&#xff0c;基于兩個表之間的共同字段。這種操作在數據庫查詢中非常常見&#xff0c;特別是在處理關系型數據庫時。下面我將分別解釋 JOIN、LEFT JOIN&#xff08;也稱為 L…

uin-app微信小程序自定義tabBar底部菜單實現簡單示例(工作筆記)

在微信小程序中實現自定義 tabBar 可以為你的應用提供更加靈活和個性化的底部導航菜單。由于微信小程序的官方 tabBar 配置功能有限&#xff0c;自定義 tabBar 成為了很多開發者實現復雜底部導航的選擇。以下是一個簡單的示例&#xff0c;說明如何在小程序中實現自定義 tabBar。…

Linux下常見壓縮文件tar.xz、tar.bz2、tar.gz的區別和詳解

文章目錄 tar.xz tar.bz2 tar.gz 的區別三種文件的解壓方式tar.xz的解壓三種壓縮文件的創建方式 tar.xz tar.bz2 tar.gz 的區別 這三個文件擴展名都表示壓縮后的檔案文件&#xff0c;但它們使用不同的壓縮算法。 tar.xz: tar 代表 Tape Archive&#xff0c;它是一種將多個文件…

House holder reflections and Givens rotations

House holder reflections and Givens rotations Householder反射和Givens旋轉是兩種常見的線性代數方法&#xff0c;用于將一個矩陣分解為正交矩陣(Q)和上三角矩陣&#xff0c;即QR分解。它們在數值線性代數中非常重要&#xff0c;特別是在求解線性方程組和特征值問題中。以下…

【若依管理系統】注意事項

1.前端字段必填 rules: {sceneName: [{ required: true, message: "場景名稱不能為空", trigger: "blur" }],orderNum: [{ required: true, message: "顯示排序不能為空", trigger: "blur" }], }, 2.IDEA&#xff0c;默認以debug模式…