一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

MySQl中select用法

 Dead n Gone 2014-10-25

1、選擇所有的記錄

   select * from table_name;

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

 

2、查詢不重復(fù)的記錄

   用關(guān)鍵字distinct

   select distinct  字段名  from  表名;

  

3、條件查詢

   用關(guān)鍵字where

   select * from 表名 where 條件;

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

 

4、排序和限制

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

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

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

   select * from emp order by sal;  

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

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

  

   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,從第二條記錄開始顯示。

   order  by 和limit 通常一起使用來控制記錄的分頁顯示

  

5、聚合

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

   語法:

   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)行分類聚合的字段、

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

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

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

 

6、表連接

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

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

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

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

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

 

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

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

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

   例如: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中的所有記錄。     以上兩條語句等價(jià)。

 

7、字查詢

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

    

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

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

 

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

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

 

8、記錄聯(lián)合

   我們經(jīng)常會碰到這樣的應(yīng)用,將兩個表的數(shù)據(jù)按照一定的查詢條件查詢出來后,將結(jié)果合并到一起顯示出來。這個時候,就需要用到union和 union all關(guān)鍵字來實(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;

   ①中的記錄將會有重復(fù)記錄,②中沒有重復(fù)記錄。

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    人妻巨大乳一二三区麻豆| 国产又大又硬又粗又黄| 久久这里只有精品中文字幕| 日本一区二区三区黄色| 成在线人免费视频一区二区| 亚洲国产中文字幕在线观看| 免费性欧美重口味黄色| 国产精品蜜桃久久一区二区| 欧美日韩国产综合在线| 国产日韩欧美国产欧美日韩| 人妻巨大乳一二三区麻豆| 国产成人亚洲综合色就色| 大伊香蕉一区二区三区| 日韩欧美一区二区亚洲| 情一色一区二区三区四| 国产精品欧美日韩中文字幕| 国产黑人一区二区三区| 国产亚洲精品香蕉视频播放| 久久精品偷拍视频观看| 色哟哟精品一区二区三区| 好吊日成人免费视频公开| 亚洲黑人精品一区二区欧美| 91在线国内在线中文字幕| 九九热在线视频精品免费| 日韩欧美高清国内精品| 久久免费精品拍拍一区二区| 久久精品国产第一区二区三区| 日本不卡视频在线观看| 午夜免费精品视频在线看| 91精品日本在线视频| 国产亚洲欧美另类久久久| 国产精品视频一区二区秋霞| 成人午夜在线视频观看| 少妇视频一区二区三区| 五月情婷婷综合激情综合狠狠| 色播五月激情五月婷婷| 青青久久亚洲婷婷中文网| 国产又猛又黄又粗又爽无遮挡 | 久久午夜福利精品日韩| av在线免费观看在线免费观看| 深夜视频在线观看免费你懂|