5000年來(lái)最易看懂的MYSQL DQL語(yǔ)言

MYSQL 的查詢語(yǔ)言——————DQL
一拆撼、DQL語(yǔ)言基本規(guī)則

①DQL(Data Query Language):數(shù)據(jù)查詢語(yǔ)言,用來(lái)查詢記錄(數(shù)據(jù))。
②數(shù)據(jù)庫(kù)執(zhí)行DQL語(yǔ)句不會(huì)對(duì)數(shù)據(jù)進(jìn)行改變,而是讓數(shù)據(jù)庫(kù)發(fā)送結(jié)果集給客戶端。查詢返回的結(jié)果集是一張?zhí)摂M表舷礼。
③查詢語(yǔ)句書(shū)寫(xiě)和執(zhí)行順序
書(shū)寫(xiě):select -from- where- group by- having- order by-limit
執(zhí)行:from - where -group by -having - select - order by-limit

二、建立數(shù)據(jù)庫(kù)表格
student表


student.png

score表


score.png

三郊闯、DQL基本語(yǔ)法
查詢關(guān)鍵字:SELECT
1妻献、基本查詢:
SELECT  *  FROM  student //查詢student表的全部列
SELECT sno , sname FROM student //查詢表格的某些列的全部信息

2、條件查詢:

①select  *  from  student  where  class = 95033;
1.png

其中“=”可換成 =团赁、!=育拨、<>(不等于)、<欢摄、<=熬丧、>、>=怀挠;等符號(hào)
“*”可換成我們想要顯示的某些列

②select * from student where sno in ( 107,109);//sno等于107析蝴,109的信息
2.png

其他條件查詢

select * from student where sno  BETWEEN 107 AND 109;
select * from student where sno  IS NULL绿淋;
select * from student where sno  IS  NULL  and  sno=107闷畸;
select * from student where sno  IS  NULL  or  sno=107;
select * from student where sno  IS  not  NULL吞滞;

3佑菩、模糊查詢

select * from student where sname like "王%";//以王開(kāi)頭的姓名
3.png
select * from student where sname like "%王%";//sanme中含有“王”字的信息
select * from student where sname like "_";//”_”表示單個(gè)字母

4倘待、字段控制查詢

(1) 去除重復(fù)記錄
SELECT DISTINCT class FROM student;
(2) 相同類(lèi)型字段可做運(yùn)算疮跑,列名起別名组贺,把NULL值換為0
SELECT class+IFNULL(sno,0) AS 小名 FROM student;//別名的AS可省略


4.png

(3)排序查詢

SELECT * FROM student ORDER BY sno asc;//升序
SELECT * FROM student ORDER BY sno desc;//降序
SELECT * FROM student ORDER BY sno  desc , class  asc;//先sno降序凸舵,sno相同再按class升序

5、聚合函數(shù)(縱向運(yùn)算)
COUNT():統(tǒng)計(jì)指定列不為NULL的記錄行數(shù)失尖;

SELECT count(1) FROM student ;
SELECT count(1) FROM student where sno=107;

MAX():計(jì)算指定列的最大值啊奄,如果指定列是字符串類(lèi)型,使用字符串排序運(yùn)算掀潮;

SELECT MAX(sno) FROM student ;

MIN():計(jì)算指定列的最小值菇夸,如果指定列是字符串類(lèi)型,使用字符串排序運(yùn)算仪吧;

SELECT MIN(sno) FROM student ;

SUM():計(jì)算指定列的數(shù)值和庄新,如果指定列類(lèi)型不是數(shù)值類(lèi)型,計(jì)算結(jié)果為0薯鼠;

SLECT SUM(sno) FROM student ;

AVG():計(jì)算指定列的平均值择诈,如果指定列類(lèi)型不是數(shù)值類(lèi)型,那么計(jì)算結(jié)果為0出皇;

SELECT AVG(sno) FROM student ;

6羞芍、分組查詢
1、凡和聚合函數(shù)同時(shí)出現(xiàn)的列名郊艘,則一定要寫(xiě)在group by 之后

SELECT class, count(1) FROM student group by class ;

2荷科、對(duì)分組后限定的HAVING 子句

SELECT class, count(1) FROM student group by class HAVING count(1) >=2;

注:having與where的區(qū)別:
1.having是在分組后對(duì)數(shù)據(jù)進(jìn)行過(guò)濾,where是在分組前對(duì)數(shù)據(jù)進(jìn)行過(guò)濾
2.having后面可以使用分組函數(shù)(統(tǒng)計(jì)函數(shù)) where后面不可以使用分組函數(shù)。
3.WHERE是對(duì)分組前記錄的條件纱注,如果某行記錄沒(méi)有滿足WHERE子句的條件畏浆,那么這行記錄不會(huì)參加分組;而 HAVING是對(duì)分組后數(shù)據(jù)的約束狞贱。

7刻获、控制行數(shù)實(shí)現(xiàn)分頁(yè)查詢
若一頁(yè)行數(shù)為10;

SELECT * FROM student LIMIT 0, 9;//從0行開(kāi)始到第九行結(jié)束斥滤,為第一頁(yè)數(shù)據(jù)将鸵。

四、多表查詢
1佑颇、合并結(jié)果集(union 顶掉, union all)

SELECT* FROM student UNION SELECT * FROM student;//去除重復(fù)數(shù)據(jù)
SELECT* FROM student UNION ALL SELECT * FROM student;//不去除重復(fù)數(shù)據(jù)
注:要合并的兩表的列數(shù)、列類(lèi)型必須相同挑胸。

2痒筒、連接查詢
2.1內(nèi)連接
特點(diǎn):查詢結(jié)果必須滿足條件

SELECT * FROM student,score WHERE student.sno=score.sno ;(方言形式,可將*換成指定列)
SELECT * FROM student INNER JOIN score ON student.sno=score.sno ;(標(biāo)準(zhǔn)形式內(nèi)連接)

2.2 外連接
特點(diǎn):查詢結(jié)果必須滿足條件
①左連接是先查詢出左表(以左表為主),然后查詢右表簿透,右表中滿足條件的顯示出來(lái)移袍,不滿足條件的顯示 NULL。

 SELECT * FROM student LEFT OUTER JOIN score ON student.sno=score.sno ;

②右連接就是先把右表中所有記錄都查詢出來(lái)老充,然后左表滿足條件的顯示葡盗,不滿足顯示NULL;

SELECT * FROM student RIGHT OUTER JOIN score ON student.sno=score.sno 

3啡浊、子查詢
定義及形式:一個(gè)select語(yǔ)句中包含另一個(gè)完整的select語(yǔ)句觅够。 子查詢就是嵌套查詢,即SELECT中包含SELECT巷嚣,如果一條語(yǔ)句中存在兩個(gè)喘先,或兩個(gè)以上SELECT,那么就是子查詢語(yǔ)句了廷粒。
子查詢出現(xiàn)的位置:
a. where后窘拯,作為條為被查詢的一條件的一部分;

SELECT * FROM score WHERE degree > (SELECT degree FROM score WHERE cno='3-245' and sno=103);

b. from后坝茎,作表涤姊;

SELECT count(1)  FROM  (SELECT sno FROM score WHERE cno='3-245')  test;

test為子查詢表的別名。派生表必須有自己的別名景东;
c. 當(dāng)子查詢出現(xiàn)在where后作為條件且子查詢形式為多行單列時(shí)砂轻,還可以使用如下關(guān)鍵字:

1.any
SELECT * FROM score WHERE sno = any(SELECT sno FROM score WHERE cno=’3-245’);
2.all
SELECT * FROM score WHERE degree< all(SELECT degree FROM score WHERE sno=103);

DQL語(yǔ)言到此告一段落,欲知其他內(nèi)容,請(qǐng)聽(tīng)下回分解斤吐。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末搔涝,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子和措,更是在濱河造成了極大的恐慌庄呈,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件派阱,死亡現(xiàn)場(chǎng)離奇詭異诬留,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)贫母,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)文兑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人腺劣,你說(shuō)我怎么就攤上這事绿贞。” “怎么了橘原?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵籍铁,是天一觀的道長(zhǎng)涡上。 經(jīng)常有香客問(wèn)我,道長(zhǎng)拒名,這世上最難降的妖魔是什么吩愧? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮增显,結(jié)果婚禮上雁佳,老公的妹妹穿的比我還像新娘。我一直安慰自己甸怕,他們只是感情好甘穿,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布腮恩。 她就那樣靜靜地躺著梢杭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪秸滴。 梳的紋絲不亂的頭發(fā)上武契,一...
    開(kāi)封第一講書(shū)人閱讀 51,688評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音荡含,去河邊找鬼咒唆。 笑死,一個(gè)胖子當(dāng)著我的面吹牛释液,可吹牛的內(nèi)容都是我干的全释。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼误债,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼浸船!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起寝蹈,我...
    開(kāi)封第一講書(shū)人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤李命,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后箫老,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體封字,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年耍鬓,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了阔籽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡牲蜀,死狀恐怖笆制,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情各薇,我是刑警寧澤项贺,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布君躺,位于F島的核電站,受9級(jí)特大地震影響开缎,放射性物質(zhì)發(fā)生泄漏棕叫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一奕删、第九天 我趴在偏房一處隱蔽的房頂上張望俺泣。 院中可真熱鬧,春花似錦完残、人聲如沸伏钠。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)熟掂。三九已至,卻和暖如春扎拣,著一層夾襖步出監(jiān)牢的瞬間赴肚,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工二蓝, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留誉券,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓刊愚,卻偏偏與公主長(zhǎng)得像踊跟,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鸥诽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容