常用SQL查询语句

常用SQL查询语句

ID:46409804

大小:21.87 KB

页数:6页

时间:2019-11-23

常用SQL查询语句_第1页
常用SQL查询语句_第2页
常用SQL查询语句_第3页
常用SQL查询语句_第4页
常用SQL查询语句_第5页
资源描述:

《常用SQL查询语句》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一、简单查询语句1、查看表结构descemp;2、查询所有列select*fromemp;3、查询指定列selectempmo,ename,mgrFROMemp;selectdistinctmgrFROMemp;--显示非重复的数据4、查询指定行SELECT*FROMempWHEREjob='CLERK';5、使用算术表达式SELECTename,sal*13+nvl(comm,1)FROMemp;nvl(comm,1)的意思是,如果comm中有值,则nvl(comm,1)=comm;comm中无值,则nvl(comm,1)=0。SELECTename,sal*13+nvl(co

2、mm,0)year_salFROMemp;(year_sal为别名,可按别名排序)SELECT*FROMempWHEREhiredate>'01-1月-82';6、使用like操作符(%,_)%表示一个或多个字符,_表示一个字符,[charlist]表示字符列中的任何单一字符,[^charlist]或者[!charlist]不在字符列中的任何单一字符。SELECT*FROMempWHEREenamelike'S__T%';7、在where条件中使用inselect*fromempWHEREjobin('clerk','analyst');8、查询字段内容为空/非空的语句selec

3、t*fromempwheremgris/isnotnull;9、使用逻辑操作符号select*fromempwhere(sal>500orjob='MANGE')andenamelike'j%';10、将查询结果按字段的值进行排序select*fromemporderbydeptno,salDESC;(按部门升序,并按薪酬降序)二、复杂查询1、数据分组(max,min,avg,sum,count)selectmax(sal),min(age),avg(sal),sum(sal)fromemp;select*fromempwheresal=(selectmax(sal)fromem

4、p);selectcount(*)fromemp;2、groupby(用于对查询结果的分组统计)和having子句(用户限制分组显示结果)selectdeptno,max(sal),avg(sal),fromempgroupbydeptno;selectdeptno,job,avg(sal),min(sal)fromempgroupbydeptno,jobhavingavg(sal)<2000;对于数据分组的总结:·a.分组函数只能出现在选择列表、having、orderby子句中(不能出现在where中)·b.如果select语句中同时包含有groupby,having,ord

5、erby,那么它们的顺序是groupby,having,orderby.·c.在选择列中如果有列,表达式,和分组函数,那么这些列和表达式必须出现在groupby子句中,否则就是会出错。注:使用groupby不是使用having的前提条件having与where最大的区别是having能带聚合函数,而where不可以selectemp_idfromtgroupbyemp_idhavingcount(*)=1--正确selectemp_idfromtgroupbyemp_idwherecount(*)=1--错误如果用where要达到这个,估计这样selectt1.emp_idfro

6、m(selectemp_id,count(*)ascntfromtgroupbyemp_id)t1wheret1.cnt=13、多表查询SELECTe.name,e.sal,d.dnameFROMempe,deptdWHEREe.deptno=d.deptnoorderbyd.deptno;SELECTe.ename,e.sal,s.gradeFROMempe,salgradesWHERe.salBETWEENs.losalANDs.hisal;4、自连接(指同一张表的连接查询)selecter.ename,ee.enamemgr_namefromemper,empeewhere

7、er.mgr=ee.empno;5、子查询(嵌入到其他sql语句中的select语句,也叫做嵌套查询)5.1单行子查询selectenamefromempwheredeptno=(selectdeptnofromempwhereename='SMITH');查询表中与Smith同部门的人员名字。因为返回结果只有一行,所以用“=”连接子查询语句5.2多行子查询selectename,job,sal,deptnofromempwherejobin(selectdistinctjobf

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。