十一、數據庫day03--SQL語句02

文章目錄

  • 一、查詢語句
    • 1. 基本查詢
    • 2. 條件查詢
      • 2.1 ?較運算符&邏輯運算符
      • 2.2 模糊查詢
      • 2.3 范圍查詢
      • 2.4 判斷空
    • 3. 其他復雜查詢
      • 3.1 排序
      • 3.2 聚合函數
      • 3.3 分組
      • 3.4 分頁查詢
  • 二、回顧
    • 1. 使? Navicat ?具中的命令列
    • 2.命令?基本操作步驟


提示:以下是本篇文章正文內容,下面案例可供參考

一、查詢語句

1. 基本查詢

  • 需求1: 準備商品數據, 查詢所有數據, 查詢部分字段, 起字段別名, 去重
    查詢所有數據: select * from 表名;
select * from goods;
  • 查詢部分字段: select 字段名1, 字段名2 from goods;
select goodsName, price from goods;
  • 起字段別名: select 字段名 as ‘別名’ from goods;
select goodsName as '商品名稱', price as '價格' from goods;
  • 注意: 別名的引號可以省略
select goodsName as 商品名稱, price as 價格 from goods;
  • 注意: as 關鍵字也可以省略[掌握]
select goodsName 商品名稱, price 價格 from goods;
  • 起別名的作?: 1> 美化數據結果的顯示效果 2> 可以起到隱藏真正字段名的作?
  • 另: 除了可以給字段起別名以外, 還可以給數據表起別名(連接查詢時使?)
  • 去重: select distinct(字段名) from goods;
  • 效果: 將?標字段內重復出現的數據只保留?份顯示
  • ?需求: 顯示所有的公司名稱
select distinct(company) from goods;

2. 條件查詢

2.1 ?較運算符&邏輯運算符

-- 需求2: 查詢價格等于30并且出?并夕夕的所有商品信息
select * from goods;
-- 查詢價格等于30 : ?較運算符(特殊: (?于等于)>=/(?于等于)<=/(不等于)!=/<>)
select * from goods where price=30;-- 并且出?并夕夕的所有商品信息 : 邏輯運算符(and(與)/or(或)/not(?))
-- 注意: 作為查詢條件使?的字符串必須帶引號!
select * from goods where price=30 and company='并夕夕';-- 補充需求: 查詢價格等于30但不出?并夕夕的所有商品信息
select * from goods where not company='并夕夕' and price=30;
-- 注意: not 與 and 和 or (左右兩邊連接條件)不同之處在于, not 只對??右側的條件有作?(右邊連接條件)
select * from goods where price=30 and not company='并夕夕';

2.2 模糊查詢

-- 需求3: 查詢全部?次性?罩的商品信息
-- 模糊查詢: like 和符號 %(任意多個字符)/_(任意?個字符)
-- 注意: 作為查詢條件使?的字符串必須帶引號!
-- 注意: 如果需要控制字符數量, 需要使?_, 并且有?個字符就使??個_
-- %關鍵詞% : 關鍵詞在中間
select * from goods where remark like '%?次性%';
-- %關鍵詞 : 關鍵詞在末尾
select * from goods where remark like '%?次性';
-- 關鍵詞% : 關鍵詞在開頭
select * from goods where remark like '?次性%';

2.3 范圍查詢

-- 需求4: 查詢所有價格在30-100的商品信息
-- 范圍查詢: 1> ?連續范圍: in 2> 連續范圍: between ... and ...
select * from goods where price between 30 and 100; 
-- 注意: between ... and ... 的范圍必須是從?到?
select * from goods where price between 100 and 30;

2.4 判斷空

-- 需求5: 查詢沒有描述信息的商品信息
-- 注意: 在 MySQL 中, 只有顯示為 NULL 的才為空! 其余空?可能是空格/制
表符(tab)/換?符(回?鍵)等空?符號
-- 判斷空: 1> 為空: is null 2> 不為空(雙重否定表肯定): is not null 
select * from goods where remark is null;
-- 補充需求: 查詢有描述信息的所有商品
select * from goods where remark is not null;

3. 其他復雜查詢

3.1 排序

-- 需求6: 查詢所有商品信息, 按照價格從?到?排序, 價格相同時, 按照數量少到多排序
-- select * from 表名 order by 列1 asc|desc,列2 asc|desc,...
-- 說明: order by 排序, asc : 升序, desc : 降序
-- 注意: 排序過程中, ?持連續設置多條排序規則, 但離 order by 關鍵字越近, 排序數據的范圍越?!
select * from goods order by price desc;
select * from goods order by price desc, count asc;-- 注意: 默認排序為升序, asc 可以省略
select * from goods order by price desc, count;

3.2 聚合函數

-- 需求7: 查詢以下信息: 商品信息總條數; 最?商品價格; 最低商品價格; 商品平均價格; ?次性?罩的總數量
-- 聚合函數: 系統提供的?些可以直接?來獲取統計數據的函數-- 商品信息總條數: count(字段): 查詢總記錄數
select count(*) from goods;
-- 注意: 統計數據總數, 建議使?* , 如果使?某?特定字段, 可能會造成數據總數錯誤!-- 最?商品價格: max(字段): 查詢最?值
select max(price) from goods;-- 最低商品價格: min(字段): 查詢最?值
select min(price) from goods;-- 商品平均價格: avg(字段): 求平均值
select avg(price) from goods;-- ?次性?罩的總數量: sum(): 求和
-- 注意: 此處的 count 是數據表中字段名!
select sum(count) from goods where remark like '%?次性%';-- 擴展: 在需求允許的情況下, 可以?次性在?條 SQL語句中, 使?所有的聚合函數
select count(*), max(price), min(price), avg(price) from goods;

3.3 分組

-- 需求8: 查詢每家公司的商品信息數量
-- 分組: select 字段1,字段2,聚合... from 表名 group by 字段1,字段2...
-- 說明: group by : 分組-- 注意: 
-- 1> ?般情況, 使?哪個字段進?分組, 那么只有該字段可以在 * 的位置處使?, 其他字段沒有實際意義(只要?組數據中的?條)
-- 2> 分組操作多和聚合函數配合使?
select count(*) from goods group by company;
select * from goods;
select company, count(*) from goods group by company;
-- 說明: 其他字段沒有實際意義(只要?組數據中的?條)
select price, count(*) from goods group by company;-- 擴充: 分組后條件過濾
-- 說明: group by 后增加過濾條件時, 需要使? having 關鍵字
-- 注意: 
-- 1. group by 和 having ?般情況下需要配合使?
-- 2. group by 后邊不推薦使? where 進?條件過濾
-- 3. having 關鍵字后側可以使?的內容與 where 完全?致(?較運算符/邏輯運算符/模糊查詢/判斷空)
-- 3. having 關鍵字后側允許使?聚合函數-- where 和 having 的區別:
-- where 是對 from 后?指定的表進?數據篩選,屬于對原始數據的篩選
-- having 是對 group by 的結果進?篩選
-- having 后?的條件中可以?聚合函數,where 后?不可以

3.4 分頁查詢

-- 需求9: 查詢當前表當中第5-10?的所有數據
-- 分?查詢: select * from 表名 limit start,count
-- 說明: limit 分?; start : 起始?號; count : 數據?數 
-- 注意: 計算機的計數從 0 開始, 因此 start 默認的第?條數據應該為 0, 后續數據依次減1
-- 過渡需求: 獲取前 5 條數據
select * from goods limit 0, 5;
-- 注意: 如果默認從第?條數據開始獲取, 則 0 可以省略!
select * from goods limit 5;
-- 需求: 
select * from goods limit 4, 6;-- 擴展 1: 根據公式計算顯示某?的數據
-- 已知:每?顯示m條數據,求:顯示第n?的數據
-- select * from 表名 limit (n-1)*m, m
-- 示例: 每?顯示 4 條數據, 求展示第 2 ?的數據內容
select * from goods limit 0, 4; -- 第1?(有數據)
select * from goods limit 4, 4; -- 第2?(有數據)
select * from goods limit 8, 4; -- 第3?(有數據)
select * from goods limit 12, 4; -- 第4?(?共 12 條數據, 每?顯示 4 條, 沒有第 4 ?數據)-- 擴展 2: 分?的其他應?
-- 需求: 要求查詢商品價格最貴的數據信息
select * from goods order by price desc limit 1;
-- 進階需求: 要求查詢商品價格最貴的前三條數據信息
select * from goods order by price desc limit 3;

二、回顧

1. 使? Navicat ?具中的命令列

在這里插入圖片描述

2.命令?基本操作步驟

在這里插入圖片描述


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

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

相關文章

Flowable 與 bpmn.io@7.0 完整集成示例 Demo

Flowable 與 bpmn.io7.0 完整集成示例 Demo 下面是一個完整的前后端集成示例&#xff0c;包含前端使用 bpmn.js 7.0 和與 Flowable 后端交互的實現。 1. 后端實現 (Spring Boot Flowable) 1.1 添加依賴 (pom.xml) <dependencies><!-- Spring Boot --><depe…

ROS2 安裝詳細教程,Ubuntu 22.04.5 LTS 64 位 操作系統

一、完整安裝流程&#xff08;推薦&#xff09; 1. 安裝依賴工具 sudo apt update && sudo apt install -y software-properties-common curl gnupg2 2. 添加 ROS 2 GPG 密鑰 sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /…

STM32 基本GPIO控制

目錄 GPIO基礎知識 ?編輯IO八種工作模式 固件庫實現LED點燈 蜂鳴器 按鍵基礎知識 ?編輯繼電器 震動傳感器 433M無線模塊 GPIO基礎知識 GPIO(General-Purpose input/output,通用輸入/輸出接口) 用于感知外部信號&#xff08;輸入模式&#xff09;和控制外部設備&…

14.Chromium指紋瀏覽器開發教程之WebGL指紋定制

WebGL指紋概述 當在瀏覽器打開的網頁上瀏覽內容時&#xff0c;看到的大多是平面的、靜態的圖像和文字。但是有時想要在網頁上看到更加生動、立體的圖像&#xff0c;如3D游戲、虛擬現實應用等。這時&#xff0c;就需要用到WebGL。 簡單來說&#xff0c;WebGL&#xff08;Web G…

C# foreach 循環中獲取索引的完整方案

一、手動維護索引變量 ?實現方式?&#xff1a; 在循環外部聲明索引變量&#xff0c;每次迭代手動遞增&#xff1a; int index 0; foreach (var item in collection) { Console.WriteLine($"{index}: {item}"); index; } ?特點?&#xff1a; 簡單直接&#…

Android 下拉欄中的禁用攝像頭和麥克風隱藏

Android 下拉欄中的禁用攝像頭和麥克風隱藏 文章目錄 Android 下拉欄中的禁用攝像頭和麥克風隱藏一、前言二、下拉框中的禁用攝像頭和麥克風隱藏實現1、設置支持屬性為false2、修改代碼 三、其他1、下拉欄中的禁用攝像頭和麥克風隱藏小結2、 Android SensorPrivacyService ps&a…

數字后端設計 (四):時鐘樹綜合——讓芯片的「心跳」同步到每個角落

—— 試想全城的人要在同一秒按下開關——如果有的表快、有的表慢&#xff0c;結果會亂套&#xff01;時鐘樹綜合就是給芯片內部裝一套精準的“廣播對時系統”&#xff0c;讓所有電路踩著同一個節拍工作。 1. 為什么時鐘如此重要&#xff1f; 芯片的「心跳」&#xff1a;時鐘信…

華為網路設備學習-19 路由策略

一、 二、 注意&#xff1a; 當該節點匹配模式為permit下時&#xff0c;參考if else 當該節點匹配模式為deny下時&#xff1a; 1、該節點中的apply子語句不會執行。 2、如果滿足所有判斷&#xff08;if-match&#xff09;條件時&#xff0c;拒絕該節點并跳出&#xff08;即不…

機器學習決策樹

一、何為決策樹 決策樹&#xff08;Decision Tree&#xff09;是一種分類和回歸方法&#xff0c;是基于各種情況發生的所需條件構成決策樹&#xff0c;以實現期望最大化的一種圖解法。由于這種決策分支畫成圖形很像一棵樹的枝干&#xff0c;故稱決策樹。它的運行機制非常通俗易…

香港服務器CPU對比:Intel E3與E5系列核心區別與使用場景

香港服務器的 CPU 配置(核心數與主頻)直接決定了其并發處理能力和數據運算效率&#xff0c;例如高頻多核處理器可顯著提升多線程任務響應速度。在實際業務場景中&#xff0c;不同負載需求對 CPU 架構的要求存在顯著差異——以 Intel E3 和 E5 系列為例&#xff0c;由于兩者在性…

【Rust 精進之路之第8篇-工具賦能】深入 Cargo:依賴管理、構建配置與工作空間 (Workspace)

系列: Rust 精進之路:構建可靠、高效軟件的底層邏輯 作者: 碼覺客 發布日期: 2025-04-20 引言:超越構建,Cargo 是 Rust 生態的引擎 在我們的 Rust 學習之旅初期(第二篇),我們已經與 Cargo 有過初步的接觸。我們學會了使用 cargo new 創建項目骨架,用 cargo build 編…

#systemverilog# 進程控制問題#(八)關于#0 問題的使用(三)

今天,我們繼續研究一下上一節討論的問題。其實,還有一個小問題,我們來探討一下。 `timescale 1ns/10psmodule tb_top(); reg clk; reg reset;initial begin reset = 0; #10 reset = 1; #15 reset = 0; #50 $finish; endinitial beginfor(int i = 0; i < 4 ; i++)fork #…

Linux:簡單自定義shell

1.實現原理 考慮下?這個與shell典型的互動&#xff1a; [rootlocalhost epoll]# ls client.cpp readme.md server.cpp utility.h [rootlocalhost epoll]# ps PID TTY TIME CMD 3451 pts/0 00:00:00 bash 3514 pts/0 00:00:00 ps ?下圖的時間軸來表?事件的發?次序。其中時…

PLSQL語法入門--PL/SQL 基礎詳解

PL/SQL 基礎詳解 PL/SQL&#xff08;Procedural Language for SQL&#xff09;是 Oracle 數據庫中的一種過程式語言&#xff0c;它擴展了 SQL 的功能&#xff0c;允許開發者編寫復雜的程序邏輯。 一、匿名塊 解釋 匿名塊是 PL/SQL 的基本執行單位&#xff0c;它是一段獨立的…

Oracle--用戶管理

前言&#xff1a;本博客僅作記錄學習使用&#xff0c;部分圖片出自網絡&#xff0c;如有侵犯您的權益&#xff0c;請聯系刪除 用戶管理在 Oracle 數據庫中至關重要。一個服務器通常只運行一個 Oracle 實例&#xff0c;而一個 Oracle 用戶代表一個用戶群&#xff0c;他們通過該用…

UOS+N 卡 + CUDA 環境下 X86 架構 DeepSeek 基于 vLLM 部署與 Dify 平臺搭建指南

一、文檔說明 本文檔是一份關于 DeepSeek 在X86架構下通vLLM工具部署的操作指南&#xff0c;主要面向需要在UOSN卡CUDA環境中部署DeepSeek的技術人員&#xff0c;旨在指導文檔使用者完成從 Python 環境升級、vLLM 庫安裝、模型部署到 Dify 平臺搭建的全流程操作。 二、安裝Pyt…

操作系統之shell實現(下)

&#x1f31f; 各位看官好&#xff0c;我是maomi_9526&#xff01; &#x1f30d; 種一棵樹最好是十年前&#xff0c;其次是現在&#xff01; &#x1f680; 今天來學習C語言的相關知識。 &#x1f44d; 如果覺得這篇文章有幫助&#xff0c;歡迎您一鍵三連&#xff0c;分享給更…

Spark,流量統計案例

提前創好一個文件夾分為四個類 FlowBean中的代碼內容為&#xff1a;package org.example.flow; import org.apache.hadoop.io.Writable; import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; //hadoop 序列化 //三個屬性&#xff1a;手機…

下載油管視頻 - yt-dlp

文章目錄 1. yt-dlp與you-get介紹1.1 主要功能對比1.2 使用場景1.3 安裝 2. 基本命令介紹2.1 默認下載視頻2.2 指定畫質和格式規則2.3 下載播放列表2.4 備注 3. 參考資料 之前只使用you-get下載b站視頻&#xff0c;當時了解you-get也可下載油管視頻&#xff0c;但之前無此需求&…

基于javaweb的SSM+Maven教材管理系統設計與實現(源碼+文檔+部署講解)

技術范圍&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬蟲、數據可視化、小程序、安卓app、大數據、物聯網、機器學習等設計與開發。 主要內容&#xff1a;免費功能設計、開題報告、任務書、中期檢查PPT、系統功能實現、代碼編寫、論文編寫和輔導、論文…