久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

MySQl中select用法

 Dead n Gone 2014-10-25

1、選擇所有的記錄

   select * from table_name;

   其中*表示表中的所有字段,。

 

2,、查詢(xún)不重復(fù)的記錄

   用關(guān)鍵字distinct

   select distinct  字段名  from  表名;

  

3,、條件查詢(xún)

   用關(guān)鍵字where

   select * from 表名 where 條件,;

   where后面的條件是一個(gè)字段的比較,可以使用=,、>,、<、>=,、<=,、!=等比較運(yùn)算符,;多個(gè)條件還可以使用or、and等邏輯運(yùn)算,。

 

4,、排序和限制

   用關(guān)鍵字order by  desc(降序), asc(升序),,limit(排序結(jié)果顯示一部分)

   order by后面可以跟多個(gè)不同的排序字段,,并且每個(gè)排序字段可以有不同的排序順序。

   例如:把emp表中的記錄按照工資sal的高低順序排序,。

   select * from emp order by sal,;  

   select * from emp order by sal,deptno desc,;(sal升序,,septno降序)

   先按第一個(gè)字段排序,當(dāng)?shù)谝粋€(gè)字段相同時(shí),,按照第二個(gè)字段排序,。

  

   select······limit offset_start, row_count;

   offset_start表示起始偏移量,默認(rèn)值為0,。 row_count表示顯示的行數(shù),。

   例如:select * from emp order by sal limit 1,3,;

   顯示前3條記錄,,起始偏移量為1,從第二條記錄開(kāi)始顯示,。

   order  by 和limit 通常一起使用來(lái)控制記錄的分頁(yè)顯示,。

  

5、聚合

   很多情況下,,用戶(hù)需要一些匯總操作,,例如統(tǒng)計(jì)整個(gè)公司的人數(shù)或者每個(gè)部門(mén)的人數(shù)。

   語(yǔ)法:

   select 字段1,,字段2.,。。函數(shù)名 from 表名  where where_condition1  group by  字段11,,字段12  with rollup  having  where_condition2; 

   函數(shù)名表示要做的聚合操作,就是聚合函數(shù),,常用的有sum(求和),、count(*)(記錄數(shù))、max(最大值),、min(最小值),。

   group by 關(guān)鍵字表示要進(jìn)行分類(lèi)聚合的字段,、

   having 關(guān)鍵字表示對(duì)分類(lèi)后的結(jié)果在進(jìn)行條件的過(guò)濾。

   having和where的區(qū)別是having是對(duì)聚合后的結(jié)果進(jìn)行條件的過(guò)濾,,而where是在聚合前就對(duì)記錄進(jìn)行過(guò)濾,,如果邏輯允許,我們可以用where先進(jìn)行過(guò)濾,,這樣結(jié)果集變小了,,將對(duì)聚合的效率大大的提高,最后在根據(jù)邏輯看是否用having進(jìn)行再過(guò)濾,。

select sum(sal), max(sal), min(sal) from emp;

 

6,、表連接

   當(dāng)需要同時(shí)顯示多個(gè)表中的字段時(shí),就可以用表連接來(lái)實(shí)現(xiàn)這樣的功能,。

   從大類(lèi)上分,,表連接分為內(nèi)連接和外連接,它們之間的最主要的區(qū)別是內(nèi)連接僅選出兩張表中互相匹配的記錄,,而外連接會(huì)會(huì)選出其他不匹配的記錄,。我們最常用的是內(nèi)連接。

   例如:查詢(xún)出所有雇員的名字和所在的部門(mén)名稱(chēng),,因?yàn)楣蛦T名稱(chēng)和部門(mén)分別放在表emp和表dept中,,因此,需要使用表連接來(lái)進(jìn)行查詢(xún),。

   select ename, deptname from emp, dept where emp.deptno=dept.deptno;

 (ename是表emp中的字段,,deptname是dept表中的字段)

 

  外連接又分為左鏈接和右連接(關(guān)鍵字left joinright join

   連接:包含所有的邊表中的記錄甚至是邊表中沒(méi)有和他匹配的記錄。

   連接:包含所有的邊表中的記錄甚至是邊表中沒(méi)有和他匹配的記錄,。

   例如:select ename, deptname from emp left join dept on emp.deptno=dept.deptno;

         select ename, deptname from dept right join emp on emp.deptno=dept.deptno;

         ename是表emp中的字段,,deptname是dept表中的字段。 就是包含表emp中的所有記錄,。     以上兩條語(yǔ)句等價(jià),。

 

7、字查詢(xún)

   在某些情況下,,當(dāng)進(jìn)行查詢(xún)的時(shí)候,,需要的條件是另外一個(gè)select語(yǔ)句的結(jié)果,這個(gè)時(shí)候,,就要用到子查詢(xún),。用于子查詢(xún)的關(guān)鍵字主要包括in、not in,、=,、!=,、exists,、not exists等,。

    

   select * from emp where deptno inselect deptno from dept);

   (表示的意思就是就表emp中的所有記錄,,除去dept表對(duì)應(yīng)的部門(mén)不存在的刪掉,。)

 

 在某些情況下,子查詢(xún)可以轉(zhuǎn)化成表連接,。例如,,上面的語(yǔ)句可以寫(xiě)成:

   select emp.* from emp, dept where emp.deptno=dept.deptno;

 

8、記錄聯(lián)合

   我們經(jīng)常會(huì)碰到這樣的應(yīng)用,,將兩個(gè)表的數(shù)據(jù)按照一定的查詢(xún)條件查詢(xún)出來(lái)后,,將結(jié)果合并到一起顯示出來(lái)。這個(gè)時(shí)候,,就需要用到union和 union all關(guān)鍵字來(lái)實(shí)現(xiàn)這樣的功能,。union和union all的區(qū)別:union all 是把結(jié)果集合并在一起,而union是將union all后的結(jié)果進(jìn)行一次distict,,去除重復(fù)記錄,。

   select * from table1  union| union all select * from table2;

   例如:

  select deptno from emp  union all select deptno from dept,;

  select deptno from emp  union select deptno from dept,;

   ①中的記錄將會(huì)有重復(fù)記錄,②中沒(méi)有重復(fù)記錄,。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多