最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

從0到1學會MySQL單表查詢

 更新時間:2023年11月14日 11:46:16   作者:Dawn黎明開始  
這篇文章主要給大家介紹了關(guān)于如何從0到1學會MySQL單表查詢的相關(guān)資料,單表查詢是指從一張表數(shù)據(jù)中查詢所需的數(shù)據(jù),文中通過代碼介紹的非常詳細,需要的朋友可以參考下

1.查詢表中若干列

例如:查詢?nèi)w學生的學號和姓名

select sno,sname
from student;

(1)查詢?nèi)苛?/h3>

(例如:查詢?nèi)w學生的信息)

方法一:在select關(guān)鍵字后面列出所有列名

代碼如下????

select  sno,sname,ssex,sage,sdept
from student;

方法二:將<目標列表表達式>指定為*

代碼如下????

select *
from student;

(2)查詢經(jīng)過計算的值

select子句中的<目標列表達式>不僅可以為表中的屬性列,也可以是表達式

例如:查詢?nèi)w學生的姓名及其出生年份

代碼如下????

select sname,2023-sage
from student;

 運行結(jié)果????

45fe27e57fd2406e848c7751d3db6115.png

(3)使用列別名改變查詢結(jié)果的列標題(AS可以省略)

代碼如下????

SELECT Sname AS NAME,'Year of Birth:' AS BIRTH, 
       2014-Sage AS BIRTHDAY,LOWER(Sdept)  AS DEPARTMENT
	FROM Student;

運行結(jié)果????

14d483d10a324a08826c7038b873acd1.png

2.查詢表中若干元組

(1)消除取值重復的行

如果沒有指定DISTINCT關(guān)鍵字,則缺省為ALL

例如:(查詢選修了課程的學生學號)

未指定DISTINCT關(guān)鍵字

代碼如下????

SELECT sno
FROM sc;
/*
SELECT ALL sno
FROM sc;
*/

運行結(jié)果????

897492e5129e4bbab47f2363720e47d8.png

指定DISTINCT關(guān)鍵字

代碼如下????

SELECT DISTINCT sno
FROM sc;

運行結(jié)果????

0122d924882443fbac0c39ffb22602e1.png

(2)比較大小

例如:查詢計算機科學系全體學生的名單

代碼如下????

SELECT sname
FROM student
WHERE sdept='cs';

運行結(jié)果????

ffb649341287423d9fe565fc31ba5fdd.png

例如:所有年齡在20歲以下的學生姓名和年齡

代碼如下????

SELECT sname,sage
FROM student
WHERE sage<20;

運行結(jié)果????

b6fc254d43d047ce8ff4279aa3b1af4f.png

 例如:查詢考試成績有不及格的學生的學號

代碼如下????

SELECT DISTINCT sno
FROM sc
WHERE grade<60;
 

(3)確定范圍

謂詞:between   and,not between   and

例如:查詢年齡在20~23歲(包括20歲和23歲)之間的學生的姓名,年齡

代碼如下????

SELECT sname,sage
FROM student
WHERE sage BETWEEN 20 AND 23;

運行結(jié)果????

65647fdeeb354abcbf81a05c7c78854f.png

(4)確定集合

謂詞: in<值表>,not in<值表>

代碼如下????

SELECT sname ,ssex,sdept
FROM student
WHERE sdept IN ('CS','MA','IS');

運行結(jié)果????

e2fdb6458dd34f3da7a5ac7f439e7868.png

(5)字符匹配

謂詞:[not]like'<匹配串>'[ESCAPE'<換碼字符>']

<匹配串>可以是一個完整的字符串,也可以含有通配符%和_

%(百分號)代表任意長度(長度可以為0)的字符串

例如:a%b表示以a開頭,以b結(jié)尾的任意長度的字符串

_(下劃線)代表任意單個字符

例如:a_b表示以a開頭,以b結(jié)尾的長度為3的任意字符串

-----------------------------------

(1)匹配串含固定字符串

例如:查詢學號為201215121的學生的詳細情況

代碼如下????

SELECT *
FROM student
WHERE sno='201215121';

運行結(jié)果????

b5c6d4c2bdde451498869222828048cb.png

(2)匹配串為含通配符的字符串

例如:查詢所有姓劉學生的姓名,學號,性別

代碼如下????

SELECT sname ,sno,ssex
FROM student
WHERE sname LIKE '劉%';

運行結(jié)果????

145b4f1d460e4675824aeac9fb4b882e.png

例如:查詢姓"歐陽"且全名為三個漢字的學生的姓名

代碼如下????

SELECT sname
FROM student
WHERE sname LIKE '歐陽_';

例如:查詢名字中第二個字為"陽"字的學生的姓名和學號

代碼如下????

SELECT sname,sno
FROM student
WHERE sname LIKE '_陽%';

例如:查詢所有不姓劉的學生姓名,學號和性別

代碼如下????

SELECT sname ,sno,ssex
FROM student
WHERE sname NOT LIKE '劉%';

 (3)使用換碼字符將通配符轉(zhuǎn)義為普通字符

ESCAPE'/'表示"/"為換碼字符

例如:查詢DB_Design課程的課程號和學分

代碼如下????

select cno,ccredit
from course
where cname like'DB/_Design'ESCAPE'/';

例如:查詢以"DB_"開頭,且倒數(shù)第3個字符為i的課程的詳細情況

代碼如下????

select *
from course
where cname like 'DB/_%i__'ESCAPE'/';

(6)涉及空值的查詢

謂詞: is null 或 is  not null

注意:"is"不能用 "="代替

例如:某些學生選修課程后沒有參加考試,所以有選課記錄,但沒有考試成績

查詢?nèi)鄙俪煽兊膶W生的學號和相應(yīng)的課程號

代碼如下????

select sno,cno
from sc
where grade is null;

3.ORDER BY子句

特點

可以按一個或多個屬性列排序

升序:ASC;降序:DESC;缺省值為升序

對于空值,排序時顯示的次序由具體系統(tǒng)實現(xiàn)來決定

例子

例1

(查詢選修了3課程的學生的學號及其成績,查詢結(jié)果按分數(shù)降序排列)

SC表如下????

代碼如下????

SELECT Sno,Grade
FROM SC
WHERE Cno='3'
ORDER BY grade DESC;

運行結(jié)果????

例2

(查詢?nèi)w學生情況,查詢結(jié)果按所在系的系好升序排列,同一系中的學生按年齡降序排列)

Student表如下????

代碼如下????

SELECT *
FROM Student
ORDER BY Sdept,Sage DESC;

運行結(jié)果????

4.聚焦函數(shù)

(1)統(tǒng)計元組個數(shù)

COUNT(*)

例如:(查詢學生總?cè)藬?shù))

代碼如下????

SELECT COUNT(*)
FROM student;

運行結(jié)果????

(2)統(tǒng)計一列中值的個數(shù)

COUNT([DISTINCT|ALL]<列名>)

 例如:(查詢選修了課程的學生人數(shù))

代碼如下????

SELECT COUNT(DISTINCT sno)
FROM sc;

運行結(jié)果????

(3)計算一列值的總和(此列必須為數(shù)值型)

SUM([DISTINCT|ALL]<列名>)

 例如:(查詢學生201215012選修課程的總學分數(shù))

代碼如下????

SELECT SUM(Ccredit)
FROM sc,course
WHERE sno='201215012' AND sc.`Cno`=course.`Cno`;

(4)計算一列值的平均值(此列必須為數(shù)值型)

AVG([DISTINCT|ALL]<列名>)

 例如:(查詢選修1號課程的學生平均成績)

代碼如下????

SELECT  AVG(Grade)
FROM sc
WHERE cno='1';

(5)求一列中的最大值和最小值

MAX([DISTINCT|ALL]<列名>)

 例如:(查詢選修1號課程的學生最高分數(shù))

代碼如下????

SELECT MAX(Grade)
FROM sc
WHERE cno='1';

MIN([DISTINCT|ALL]<列名>)

 例如:(查詢選修1號課程的學生最低分數(shù))

代碼如下????

SELECT MIN(Grade)
FROM sc
WHERE cno='1';?

5.GROUP BY子句

特點

細化聚焦函數(shù)的作用對象

如果未查詢結(jié)果分組,聚焦函數(shù)將作用于整個查詢結(jié)果

對查詢結(jié)果分組后,聚焦函數(shù)將分別作用于每個組

按指定的一列或多列值分組,值相等的為一組

代碼如下????

SELECT sno, AVG(Grade)
FROM sc
GROUP BY sno

運行結(jié)果????

HAVING短語與WHERE子句的區(qū)別

(1)作用對象不同

(2)WHERE子句作用于基表或視圖,從中選擇滿足條件的元組

(3)HAVING短語作用于組,從中選擇滿足條件的組

例如:(查詢平均成績大于等于85分的學生學號和平均成績)

錯誤代碼????:

SELECT sno, AVG(Grade)
FROM sc
WHERE AVG(grade)>=85
GROUP BY sno

正確代碼如下????

SELECT sno, AVG(Grade)
FROM sc
GROUP BY sno
HAVING AVG(grade)>=85

注意:WHERE子句中是不能用聚焦函數(shù)作為條件表達式

總結(jié)

到此這篇關(guān)于MySQL單表查詢的文章就介紹到這了,更多相關(guān)MySQL單表查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 連接MySQL時出現(xiàn)1449與1045異常解決辦法

    連接MySQL時出現(xiàn)1449與1045異常解決辦法

    這篇文章主要介紹了連接MySQL時出現(xiàn)1449與1045異常解決辦法的相關(guān)資料,通過IP鏈接MySQL的時候會出現(xiàn)1499與1054錯誤異常的情況,這里提供解決辦法,需要的朋友可以參考下
    2017-09-09
  • 一文詳解MySQL表數(shù)據(jù)完整性的8大約束機制

    一文詳解MySQL表數(shù)據(jù)完整性的8大約束機制

    數(shù)據(jù)庫設(shè)計的關(guān)鍵不僅在于存儲數(shù)據(jù),更在于保障數(shù)據(jù)的準確性與一致性,MySQL通過8大約束機制,為數(shù)據(jù)完整性筑起堅固防線,本文將深入探討8種核心約束,并通過實際案例展示其應(yīng)用方法,需要的朋友可以參考下
    2026-02-02
  • mysql表名忽略大小寫配置方法詳解

    mysql表名忽略大小寫配置方法詳解

    下面小編就為大家?guī)硪黄猰ysql表名忽略大小寫配置方法詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • MySQL主從數(shù)據(jù)庫搭建的實現(xiàn)

    MySQL主從數(shù)據(jù)庫搭建的實現(xiàn)

    本文主要介紹了MySQL8.0主從復制搭建步驟,包括配置文件修改、復制用戶權(quán)限設(shè)置、主庫狀態(tài)查詢、SSL證書生成及數(shù)據(jù)同步,具有一定的參考價值,感興趣的可以了解一下
    2025-06-06
  • MySQL命令行導出與導入數(shù)據(jù)庫

    MySQL命令行導出與導入數(shù)據(jù)庫

    這篇文章主要為大家詳細介紹了利用命令行MySQL導出數(shù)據(jù)庫與導入數(shù)據(jù)庫的例子,感興趣的小伙伴們可以參考一下
    2016-06-06
  • mysql5.7.21.zip安裝教程

    mysql5.7.21.zip安裝教程

    這篇文章主要為大家詳細介紹了mysql5.7.21.zip安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • mysql?中的備份恢復,分區(qū)分表,主從復制,讀寫分離

    mysql?中的備份恢復,分區(qū)分表,主從復制,讀寫分離

    這篇文章主要介紹了mysql?中的備份恢復,分區(qū)分表,主從復制,讀寫分離,文章圍繞主題展開詳細的內(nèi)容戒殺,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • 最新MySQL高級SQL語句大全

    最新MySQL高級SQL語句大全

    這篇文章主要介紹了MySQL高級SQL語句,主要包括常用查詢知識order by按關(guān)鍵字排序的sql語句,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • SQL?Server攜程核心系統(tǒng)無感遷移到MySQL實戰(zhàn)

    SQL?Server攜程核心系統(tǒng)無感遷移到MySQL實戰(zhàn)

    這篇文章主要介紹了SQL?Server攜程核心系統(tǒng)無感遷移到MySQL實戰(zhàn),文章通過基于數(shù)據(jù)庫部署架構(gòu)鏡像構(gòu)建了訂單緩存統(tǒng)一管理熱點數(shù)據(jù),解決各端差異,具體詳情需要的小伙伴可以參考下面文章詳細內(nèi)容
    2022-05-05
  • MySQL連接查詢你真的學會了嗎?

    MySQL連接查詢你真的學會了嗎?

    日常使用數(shù)據(jù)庫查詢語句時,單表查詢嘗嘗不能滿足項目的業(yè)務(wù)需求,在項目開發(fā)過程中,有很多需求都是要涉及到多表的連接查詢,這篇文章主要給大家介紹了關(guān)于MySQL連接查詢的相關(guān)資料,需要的朋友可以參考下
    2021-06-06

最新評論

六枝特区| 苗栗县| 边坝县| 方正县| 凤山市| 常熟市| 彝良县| 合作市| 久治县| 新乐市| 承德县| 五台县| 洮南市| 黄陵县| 攀枝花市| 儋州市| 青海省| 佛山市| 扬中市| 凉城县| 贵定县| 渭源县| 财经| 拉孜县| 西青区| 新宁县| 苏尼特左旗| 清远市| 阿拉善左旗| 贵定县| 承德县| 金湖县| 登封市| 三门峡市| 铜鼓县| 墨竹工卡县| 怀远县| 彭州市| 苗栗市| 绥德县| 新源县|