MySQL(二)——DQL数据查询语言
文章目錄
- 1. DQL簡述
- 2. 指定查詢字段
- 3. where 條件子句
- 4. 聯(lián)表查詢
- 5. 分頁和排序
- 6. 子查詢
- 7. 分組和過濾
- 8. Select 小結(jié)
1. DQL簡述
Data Query LANGUAGE : 數(shù)據(jù)查詢語言
- 所有的查詢操作都用它 SELECT
- 簡單的查詢,復(fù)雜的查詢它都能做~
- 數(shù)據(jù)庫中最核心的語言,最重要的語句
- 使用頻率最高的語句
SELECT完整的語法
注意:[ ] 代表可選,{ } 代表必選
2. 指定查詢字段
(1)查詢?nèi)康膶W(xué)生
語法:SELECT * FROM 表名
(2)查詢指定字段
語法:SELECT 字段 FROM 表名
(3)別名,給結(jié)果起一個(gè)名字
AS 可以給字段起別名,也可以給表起別名
語法:SELECT 字段1 AS 別名1 ,字段2 AS 別名2 FROM 表名 AS 別名
(4)函數(shù) Concat(a,b)
(5)去重 distinct
作用:去除SELECT 查詢出來的結(jié)果中重復(fù)的數(shù)據(jù),重復(fù)的數(shù)據(jù)只顯示一條
- 查詢?nèi)康目荚嚦煽?br />
- 查詢有哪些同學(xué)參加了考試
- 發(fā)現(xiàn)重復(fù)數(shù)據(jù),去重
(6)數(shù)據(jù)庫的列 (表達(dá)式)
- 查詢系統(tǒng)版本 (函數(shù))
- 用來計(jì)算 (表達(dá)式)
- 查詢自增的步長 (變量)
- 學(xué)員考試成績 + 1分查看
注意
數(shù)據(jù)庫中的表達(dá)式: 文本值,列,Null,函數(shù),計(jì)算表達(dá)式,系統(tǒng)變量….
select 表達(dá)式 from 表
3. where 條件子句
作用:檢索數(shù)據(jù)中 符合條件 的值
搜索的條件由一個(gè)或者多個(gè)表達(dá)式組成!結(jié)果 布爾值
(1)邏輯運(yùn)算符
盡量使用英文字母
- 查詢考試成績?cè)?95~100 分之間
- 模糊查詢(區(qū)間)
- 除了1000號(hào)學(xué)生之外的同學(xué)的成績
(2)模糊查詢 : 比較運(yùn)算符
-
查詢姓劉的同學(xué) ,與like結(jié)合 %(代表0到任意個(gè)字符)
-
查詢姓劉的同學(xué), _(一個(gè)字符) 名字后面只有一個(gè)字的
-
查詢姓劉的同學(xué), __(一個(gè)字符) 名字后面只有兩個(gè)字的
-
查詢名字中間有嘉字的同學(xué) %嘉%
-
查詢 1001,1002,1003號(hào)學(xué)員
-
查詢?cè)诎不盏膶W(xué)生
-
查詢地址為空的學(xué)生 null ’ ’
-
查詢有出生日期的同學(xué) 不為空
4. 聯(lián)表查詢
-
JOIN 對(duì)比
-
三者區(qū)別
-
練習(xí)一
查詢參加了考試的同學(xué):學(xué)號(hào),姓名,科目編號(hào),分?jǐn)?shù)
思路 ① 分析需求,分析查詢的字段來自哪些表,(連接查詢)
②確定使用哪種連接查詢? 7種
③確定交叉點(diǎn)(這兩個(gè)表中哪個(gè)數(shù)據(jù)是相同的)
④判斷的條件 : 學(xué)生表的中 studentNo = 成績表 studentNo
- 練習(xí)二
查詢了參加考試的同學(xué)信息: 學(xué)號(hào),學(xué)生姓名,科目名,分?jǐn)?shù)
思路①分析需求,分析查詢的字段來自哪些表, student、result、subject(連接查詢)
② 確定使用哪種連接查詢? 7種
③確定交叉點(diǎn)(這兩個(gè)表中哪個(gè)數(shù)據(jù)是相同的)
④判斷的條件 : 學(xué)生表的中 studentNo = 成績表 studentNo
總結(jié):我要查詢哪些數(shù)據(jù) select …
FROM 表 從哪幾個(gè)表中查
XXX Join 連接的表
on 交叉條件
假設(shè)存在一種多張表查詢,慢慢來,先查詢兩張表然后再慢慢增加
5. 分頁和排序
(1)排序
- 升序 ASC , 降序DESC
- ORDER BY 通過哪個(gè)字段排序,怎么排
- 練習(xí):查詢的結(jié)果根據(jù) 成績降序 排序
(2)分頁
分頁原因:緩解數(shù)據(jù)庫壓力,給人的體驗(yàn)更好, 瀑布流
語法: limit 起始值,頁面的大小
第N頁 limit(n-1)* pageSize,pageSize
(n-1)* pageSize:起始值
pageSize:頁面大小
n :當(dāng)前頁
數(shù)據(jù)總數(shù)/頁面大小 = 總頁數(shù)
6. 子查詢
本質(zhì) : 在where語句中嵌套一個(gè)子查詢語句
-
練習(xí)一:查詢 數(shù)據(jù)庫結(jié)構(gòu)-1 的所有考試結(jié)果(學(xué)號(hào),科目編號(hào),成績),降序排列
方式一: 使用連接查詢
方式二: 使用子查詢(由里及外)
-
練習(xí)二:查詢課程為 高等數(shù)學(xué)-2 且分?jǐn)?shù)不小于 80 的同學(xué)的學(xué)號(hào)和姓名
方式一:使用連接查詢
方式二:使用子查詢(由里及外)
7. 分組和過濾
核心: 根據(jù)不同的課程分組
GROUP BY…
HAVING …
練習(xí):查詢不同課程的平均分,最高分,最低分,平均分大于80
8. Select 小結(jié)
總結(jié)
以上是生活随笔為你收集整理的MySQL(二)——DQL数据查询语言的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL(一)——安装、创建数据库表、
- 下一篇: MySQL(三)——函数、事务(ACID