真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

MySQL查詢語(yǔ)句select講解與練習(xí)-創(chuàng)新互聯(lián)

select語(yǔ)句執(zhí)行流程:

專注于為中小企業(yè)提供網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)湖口免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了1000+企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

        START------>1.FROM

                    ------>2.WHERE(選擇,合適的行)

                  ------>3.GROUP BY(分組)

                    ------>4.HAVING(對(duì)分組進(jìn)行過(guò)濾)

                    ------>5.ORDER BY(排序)

                    ------>6.SELECT(投影,合適的字段)

                    ------>7.LIMIT ------>end result

select單表查詢:


關(guān)鍵字:

DISTINCT        #數(shù)據(jù)去重       例:select DISTINCT gender from students; VARIABLES       #mysql服務(wù)器自身內(nèi)置變量       例:select variables like 'query%'; AS              #顯示時(shí)使用別名        例:select name as  stuname  from  students; IN                   例:select name,age from students where age in  (18,19,25); IS NULL         #取值為空,IS NOT NULL: 取值不為空 like            #%任意長(zhǎng)度任意字符  _任意單個(gè)字符 RLIKE           #使用正則表達(dá)式 GROUP           #根據(jù)指定的條件把查詢結(jié)果進(jìn)行分組以用于做聚合運(yùn)算 內(nèi)置函數(shù):avg() , max() , min() , count() , sum() order  by       #根據(jù)指定字段對(duì)查詢結(jié)果進(jìn)行排序                   升序:ASC(默認(rèn))   降序:DESC LIMIT [[offset,]row_count] #對(duì)查詢的結(jié)果進(jìn)行輸出行數(shù)數(shù)量的限制 對(duì)查詢結(jié)果中的數(shù)據(jù)請(qǐng)求施加‘鎖’:        FOR  UPDATE :寫鎖,獨(dú)占鎖,排他鎖        LOCK IN SHARE MODE :讀鎖,共享鎖

例:查看男女同學(xué)的平均年齡

       select avg(age),gender  from  students  group  by  gender ;

例:查看平均年齡大于20的性別

       select avg(age),gender as '年齡' from  students  group  by  gender having 年齡>20;

例:查看姓名,年齡以年齡倒序排序

       select name,age from students order  by age desc;

例:年齡從小到大查看排名11至20的同學(xué)的姓名

select name,age from students order  by age limit 10,10 ;

練習(xí)題:

1. 在students表中,年齡大于25,且為男性的同學(xué)的姓名和年齡

select name,age  from students  where gender='m' and age>25;

2. 以classID為分組依據(jù),顯示每組的平均年齡

select  avg(age),classID from students where classID is not null group by classID;

3. 顯示第二題中平均年齡大于30的分組及平均年齡

select  avg(age),classID from students  group by classID  having avg(age)>30;

4. 顯示名字以L開(kāi)頭的同學(xué)的相關(guān)信息

select * from students  where name like  'L%';

5. 顯示teacherID非空的同學(xué)的相關(guān)信息

select * from students  where teacherID is not null;

6. 以年齡排序后顯示年齡大的前10位同學(xué)的信息

select * from students  order by  age DESC limit 10;

7. 查詢年齡大于等于20歲,小于等于25歲的同學(xué)的信息,用三種方法

select * from students where age>=20 and age<=25; select * from students  where age between 20 and  25; select * from students  where age in (20,21,22,23,24,25);

select多表查詢:


交叉連接:又稱笛卡爾乘積,結(jié)果兩表行數(shù)相乘(不常用)。 例:select *  from  table1,table2; 內(nèi)連接:  等值連接求交集,讓兩張或多張表按“等值”建立連接關(guān)系(常用) 外連接:  又分左連接(顯示所有左邊給定所有字段和右邊與左邊指定字段內(nèi)容相同的),右連接。

例:

select * from students,teachers  where  students.teacherID=teachers.TID ; #相當(dāng)于內(nèi)連接 select s.name,c.class from students as s,classes as c  where s.classID=c.classID;

    不等值連接:

    自然連接:

    自連接:一張表中一個(gè)字段的值等于另一個(gè)字段的值。

例:

select  s.name,t.name  from students  as  s,teacher  as t where  s.TeacherID=t.stuID;

外連接:

    左外連接:以左側(cè)表為準(zhǔn),以某一字段等值建立連接關(guān)系,如左表有的右表也有就一一對(duì)應(yīng),如左表有右表沒(méi)有左表顯示所有,右表留空對(duì)應(yīng)。(顯示左表所有,右表有的就對(duì)應(yīng)沒(méi)有就留空)

使用方法:FROM tb1  LEFT  JOIN  tab2  ON  tab1.col1=tab2.col;

例:

select s.name,c.class  from students  as s  LEFT  JOIN  classes  as  c  ON  s.classID=c.classID;

   右外連接:

使用方法:FROM tb1  RIGHT  JOIN  tab2  ON  tab1.col1=tab2.col

子查詢:在查詢語(yǔ)句中嵌套著查詢語(yǔ)句(mysql支持不好,少用)

       基于某語(yǔ)句結(jié)果再次進(jìn)行查詢

用在where子句中的子查詢:

(1) 用在比較表達(dá)式中的子查詢,子查詢僅能返回單個(gè)值:

例查找大于平均年齡的同學(xué)名字和年齡:

select name,age  from  students  where  age>(select avg(age) from students);

(2)用在IN中的子查詢:子查詢應(yīng)該單鍵查詢并返回一個(gè)或多個(gè)值構(gòu)成列表

例:查找老師年齡和同學(xué)年齡相等的

select  name,age  from students where age  in (select age from teachers);

(3)用于EXISTS

用于from子句中的子查詢:

例查找平均年齡是30的班級(jí):

select s.aage,s.classID from (select avg(age) as aage,classID from students where classID is not null group by classID) as s where s.aage=30;

聯(lián)合查詢:把兩個(gè)表查詢的結(jié)果合并成一個(gè)。以前面表的字段為準(zhǔn),后面的表填充內(nèi)容。

例:

select name,age  from  students  UNION select  name,age  from teachers;

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


分享文章:MySQL查詢語(yǔ)句select講解與練習(xí)-創(chuàng)新互聯(lián)
分享路徑:http://weahome.cn/article/shdoi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部