数据库
AaronFR
不要每次都是看到了希望才去坚持,很多时候可能是坚持了才会看到希望!
展开
-
【sql编程1_1】sql查询 同一个字段 同时满足多个条件
emp表: works表: 题目:查询同时工作于"硬件"和"软件"两个部门的每个雇员的名字和年龄select ename,agefrom empWHERE eid in (select eid from works where did = '软件' or did = '硬件'GROUP BY eidhaving count(eid) = 2)该SQL语句...原创 2019-03-09 14:46:52 · 13485 阅读 · 1 评论 -
【sql编程1_2】连接查询
emp表: works表: dept表:题目:查询工资超过他(或她)所在部门预算的20%的雇员select DISTINCT emp.*from emp,works,deptwhere emp.eid = works.eid and dept.did = works.did and salary>budget*1.2结果为:若不加distinct,则结果为...原创 2019-03-09 15:19:46 · 103 阅读 · 0 评论 -
【sql编程1_3】限制结果
dept表:题目:查询预算最高的前两个部门管理者的manageridSELECT manageridfrom deptORDER BY budget desclimit 2查询结果为MySql中,为了返回第一行或前几行,可使用LIMIT子句,如limit 5表示MYSQL返回不多于5行,limit 1,1表示返回从第一行开始的一行(将检索出第二行,题中limit 2改为li...原创 2019-03-09 15:43:04 · 160 阅读 · 0 评论 -
【sql编程1_4】分组求和
dept表:题目:如果一个管理者管理多个部门,那么他控制的部门预算就是这些部门的预算的总和,找出控制预算超过50万的管理者select manageridfrom deptGROUP BY manageridhaving sum(budget)>500000显然本题要用分组求和,先在dept表中按managerid分组,在用聚集函数SUM对每个组中的预算budget进行求...原创 2019-03-09 16:03:54 · 291 阅读 · 0 评论 -
【sql编程2_1】计算中位数
dept表: emp表:题目:计算dname = ‘Research Institude’的员工工资中位数中位数是指:一组按照大小排列起来的数据中处在中间位置的数,当有奇数个(如17个)时,中间数就是中间那个数(第9个);当有偶数个(如18个)数据时,中间数就是中间那两个数的平均值(第9个和第10个的平均值)set @rowindex:=0;select AVG(sal)...原创 2019-03-10 12:09:17 · 880 阅读 · 0 评论 -
【sql编程2_2】日期相减,换算月数、年数
emp表:题目:求第一个员工和最后一个员工聘用(HIREDATE)之间相差的月份数,以及这些月折合的年数。分析:数据库录入员工信息是聘用早的在前,聘用晚的在后,所以第一个员工是聘用时间最早,最后一个员工是聘用时间最短。select TIMESTAMPDIFF(YEAR,MIN(hiredate),MAX(hiredate))AS 相差年数,TIMESTAMPDIFF(MONTH,...原创 2019-03-10 16:16:58 · 4183 阅读 · 0 评论