sql常见面试题

sql常见面试题

ID:40569814

大小:78.50 KB

页数:21页

时间:2019-08-04

sql常见面试题_第1页
sql常见面试题_第2页
sql常见面试题_第3页
sql常见面试题_第4页
sql常见面试题_第5页
资源描述:

《sql常见面试题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、五.数据库部分1、用两种方式根据部门号从高到低,工资从低到高列出每个员工的信息。select*fromemployeeorderbydeptiddesc,salaryasc2、列出各个部门中工资高于本部门的平均工资的员工数和部门号,并按部门号排序创建表:mysql>createtableemployee921(idintprimarykeyauto_increment,namevarchar(50),salarybigint,deptidint);插入实验数据:mysql>insertintoemployee921values(null,'zs',100

2、0,1),(null,'ls',1100,1),(null,'ww',1100,1),(null,'zl',900,1),(null,'zl',1000,2),(null,'zl',900,2),(null,'zl',1000,2),(null,'zl',1100,2);编写sql语句:()selectavg(salary)fromemployee921groupbydeptid;()mysql>selectemployee921.id,employee921.name,employee921.salary,employee921.deptidtidfr

3、omemployee921wheresalary>(selectavg(salary)fromemployee921wheredeptid=tid)orderbysalary效率低的一个语句,仅供学习参考使用(在groupby之后不能使用where,只能使用having,在groupby之前可以使用where,即表示对过滤后的结果分组):mysql>selectemployee921.id,employee921.name,employee921.salary,employee921.deptidtidfromemployee921wheresalary

4、>(selectavg(salary)fromemployee921groupbydeptidhavingdeptid=tid);()selectcount(*),tidfrom(selectemployee921.id,employee921.name,employee921.salary,employee921.deptidtidfromemployee921wheresalary>(selectavg(salary)fromemployee921wheredeptid=tid))astgroupbytid;另外一种方式:关联查询selecta.en

5、ame,a.salary,a.deptidfromempa,(selectdeptd,avg(salary)avgsalfromempgroupbydeptid)bwherea.deptid=b.deptidanda.salary>b.avgsal;3、存储过程与触发器必须讲,经常被面试到?createprocedureinsert_Student(_namevarchar(50),_ageint,out_idint)begininsertintostudentvalue(null,_name,_age);selectmax(stuId)into_idf

6、romstudent;end;callinsert_Student('wfz',23,@id);select@id;mysql>createtriggerupdate_StudentBEFOREupdateonstudentFOREACHROW->select*fromstudent;触发器不允许返回结果createtriggerupdate_StudentBEFOREupdateonstudentFOREACHROWinsertintostudentvalue(null,'zxx',28);mysql的触发器目前不能对当前表进行操作createtrig

7、gerupdate_StudentBEFOREupdateonstudentFOREACHROWdeletefromarticleswhereid=8;这个例子不是很好,最好是用删除一个用户时,顺带删除该用户的所有帖子这里要注意使用OLD.id触发器用处还是很多的,比如校内网、开心网、Facebook,你发一个日志,自动通知好友,其实就是在增加日志时做一个后触发,再向通知表中写入条目。因为触发器效率高。而UCH没有用触发器,效率和数据处理能力都很低。存储过程的实验步骤:mysql>delimiter

8、mysql>createprocedureinsert

9、Article_Procedure(pTitlevarchar(50),pBid

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

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

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