首頁 >資料庫 >mysql教程 >mysql資料庫的查詢語句是什麼

mysql資料庫的查詢語句是什麼

青灯夜游
青灯夜游原創
2022-01-05 11:39:5559633瀏覽

查詢語句:1、“select * from 表名;”,可查詢表中全部資料;2、“select 欄位名稱from 表名;”,可查詢表中指定欄位的資料;3、 “select distinct 欄位名稱from 表名”,可對錶中資料進行去重查詢。

mysql資料庫的查詢語句是什麼

本教學操作環境:windows7系統、mysql8版本、Dell G3電腦。

單表查詢

1、普通查詢

(1)指令:select * from ;/ /通匹

(2)指令:select from ;

2 、去重查詢(distinct)

指令:select <strong>distinct</strong> from

#3、排序查詢(order by)

#升序:asc

降序:desc

降序排列指令:select &lt ;要查詢的欄位名稱> from order by desc

不加desc一般預設為升序排列

4、分組查詢(group by)

指令:select , Sum(score) from group by

假設現在又有一個學生成績表(result)。要求查詢一個學生的總成績。我們根據學號將他們分為了不同的組別。

指令:

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

多表格查詢

#一、等值查詢

現在有兩個表:

mysql資料庫的查詢語句是什麼

mysql資料庫的查詢語句是什麼

現在要查詢年齡小於20歲學生的不及格成績

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

它的查詢如下圖所示:

mysql資料庫的查詢語句是什麼

可見等值查詢效率太低

二、連接查詢

1、外連接查詢

(1)左外連接查詢

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

我們利用左外連接查詢,先將學生表中所有年齡小於20歲的學生取出來,再在成績表中將所有成績小於60的學生取出來,然後再進行配對,我們會發現效率大大得提高,只用匹配四次就可以找到。

如下圖所示:

mysql資料庫的查詢語句是什麼
語句為:

select a.id,score
from
(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;

左外連接就是左表過濾的結果必須全部存在。如果存在左表中過濾出來的數據,右表沒有匹配上,這樣的話右表就會出現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;

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

如圖:

mysql資料庫的查詢語句是什麼

我們發現過濾出來的表進行的匹配只有兩個滿足條件(紅色代表條件滿足),但最後的結果是:

mysql資料庫的查詢語句是什麼

#左表不匹配的資料改為空,右表過濾出來的數據都要存在。

(3)全外連接查詢

結合了左外連接和右外連接,使得左表和右表的資料都存在。

2、內連接查詢

只篩選符合結果

例如篩選的結果如下:

mysql資料庫的查詢語句是什麼

最後的結果為:

mysql資料庫的查詢語句是什麼

只符合我們需要的結果

語句為:

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影片教學

以上是mysql資料庫的查詢語句是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn