久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

mysql數(shù)據(jù)庫如何實(shí)現(xiàn)查詢語句

186次閱讀
沒有評論

共計 1621 個字符,預(yù)計需要花費(fèi) 5 分鐘才能閱讀完成。

這篇文章主要介紹 mysql 數(shù)據(jù)庫如何實(shí)現(xiàn)查詢語句,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

查詢語句:1、“select * from 表名;”,可查詢表中全部數(shù)據(jù);2、“select 字段名 from 表名;”,可查詢表中指定字段的數(shù)據(jù);3、“select distinct 字段名 from 表名”,可對表中數(shù)據(jù)進(jìn)行去重查詢。

本教程操作環(huán)境:windows7 系統(tǒng)、mysql8 版本、Dell G3 電腦。

單表查詢

1、普通查詢

(1)命令:select * from 表名 // 通匹

(2)命令:select 要查詢的字段 from 表名

2、去重查詢(distinct)

命令:select distinct 要查詢的字段 from 表名

3、排序查詢(order by)

升序:asc

降序:desc

降序排列命令:select 要查詢的字段名 from 表名 order by 要查詢的字段名 desc

不加 desc 一般默認(rèn)為升序排列

4、分組查詢 (group by)

命令:select 按什么分的組 , Sum(score) from 表名 group by 按什么分的組

假設(shè)現(xiàn)在又有一個學(xué)生成績表 (result)。要求查詢一個學(xué)生的總成績。我們根據(jù)學(xué)號將他們分為了不同的組。

命令:

mysql select id, Sum(score) from result group by id;

多表查詢

一、等值查詢

現(xiàn)在有兩個表:

現(xiàn)在要查詢年齡小于 20 歲學(xué)生的不及格成績。

語句:select stu.id,score from stu,result where stu.id = result.id and age 20 and score

它的查詢?nèi)缦聢D所示:

可見等值查詢效率太低

二、連接查詢

1、外連接查詢

(1)左外連接查詢

假設(shè)我們依舊使用的是上面的兩個表,任然查詢年齡小于 20 歲學(xué)生的不及格成績

我們利用左外連接查詢,先將學(xué)生表中所有年齡小于 20 歲的學(xué)生取出來,再在成績表中將所有成績小于 60 的學(xué)生取出來,然后再進(jìn)行配對,我們會發(fā)現(xiàn)效率大大得提高,只用匹配四次就可以找到。

如下圖所示:

語句為:

select a.id,score
(select id,age from stu where age   20) a (過濾左表信息)
left join
(select id, score from result where score   60) b (過濾右表信息)
on a.id = b.id;

左外連接就是左表過濾的結(jié)果必須全部存在。如果存在左表中過濾出來的數(shù)據(jù),右表沒有匹配上,這樣的話右表就會出現(xiàn) NULL;

(2)右外連接查詢

select a.id,score
 from
 (select id,age from stu where age   20) a (過濾左表信息)
 right join
 (select id, score from result where score   60) b (過濾右表信息)
 on a.id = b.id;

左外連接就是左表過濾的結(jié)果必須全部存在

如圖:

我們發(fā)現(xiàn)過濾出來的表進(jìn)行的匹配只有兩條滿足條件(紅色代表?xiàng)l件滿足),但最后的結(jié)果卻是:

左表不匹配的數(shù)據(jù)改為空,右表過濾出來的數(shù)據(jù)都要存在。

(3)全外連接查詢

結(jié)合了左外連接和右外連接,使得左表和右表的數(shù)據(jù)都存在。

2、內(nèi)連接查詢

只篩選匹配結(jié)果

比如過濾的結(jié)果如下:

最后的結(jié)果為:

只匹配我們需要的結(jié)果

語句為:

select a.id,score
 from
 (select id,age from stu where age   20) a (過濾左表信息)
 inner join
 (select id, score from result where score   60) b (過濾右表信息)
 on a.id = b.id;

以上是“mysql 數(shù)據(jù)庫如何實(shí)現(xiàn)查詢語句”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-15發(fā)表,共計1621字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 老河口市| 华容县| 富顺县| 眉山市| 西乌珠穆沁旗| 抚州市| 永靖县| 石景山区| 江华| 聂拉木县| 黄石市| 德化县| 沙雅县| 湄潭县| 新建县| 墨江| 万安县| 阳东县| 乐至县| 探索| 瓦房店市| 凉城县| 库尔勒市| 泽库县| 克什克腾旗| 岑溪市| 永福县| 揭西县| 蕲春县| 修水县| 红安县| 扶余县| 崇信县| 永宁县| 万山特区| 利津县| 渭源县| 三门峡市| 通化市| 安仁县| 乌兰浩特市|