数据库操作练习2
来源:互联网 发布:大风刮过知乎 编辑:程序博客网 时间:2024/05/21 09:32
1.查找员工编号emp_now为10001其自入职以来的薪水salary涨幅值growth
题目描述
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`));
输入描述:
无
输出描述:
growth 28841
select max(salary)-min(salary) as growth from salaries where emp_no=10001;
sql2:
select ((select salary from salaries where emp_no=10001 order by to_date desc limit 1)-
(select salary from salaries where emp_no=10001 order by to_date asc limit 1)) as growth
2.查找employees表所有emp_no为奇数
题目描述
CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` char(1) NOT NULL,
`hire_date` date NOT NULL,
PRIMARY KEY (`emp_no`));
输入描述:
无
输出描述:
emp_no birth_date first_name last_name gender hire_date 100111953-11-07MarySluisF1990-01-22100051955-01-21KyoichiMaliniakM1989-09-12100071957-05-23TzvetanZielinskiF1989-02-10100031959-12-03PartoBamfordM1986-08-28100011953-09-02GeorgiFacelloM1986-06-26100091952-04-19SumantPeacF1985-02-18
sql1:
select * from employees where (emp_no%2==1) and last_name<> 'Mary' order by hire_date desc;
3. 找出所有员工当前具体的薪水salary情况
题目描述
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`));
输入描述:
无
输出描述:
salary 946929440988958880707405772527597554331125828
sql1:
select distinct salary from salaries where to_date='9999-01-01' order by salary desc
sql2:
1. select salary from salaries where to_date='9999-01-01' group by salary order by salary desc;
2. SELECT DISTINCT salary FROM salaries WHERE to_date = '9999-01-01' ORDER BY salary DESC
对于distinct,groupby的性能。
数据量非常巨大时候,比如1000万中有300W重复数据,这时候的distinct的效率略好于group by;
对于相对重复量较小的数据量比如1000万中1万的重复量,用groupby的性能会远优于distnct。
简书上的一篇博客说的不错,大家可以穿送过去看一看传送门,mysql获取当前时间 : now()
sqlServer获取当前时间: getDate()(sql2参考牛客网友回答)
- 数据库操作练习2
- Orcale数据库操作练习
- JavaDB数据库操作练习
- 数据库操作练习1
- 数据库操作练习3
- 数据库操作练习4
- 数据库操作练习5
- 数据库操作练习6
- 数据库操作练习7
- 数据库操作练习8
- 数据库操作练习9
- 数据库操作练习10
- 数据库操作练习11
- 数据库操作练习12
- 数据库操作练习13
- Android简单数据库操作练习
- MySql数据库基本操作练习
- python操作mysql数据库练习
- 无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动
- C语言实现括号匹配问题
- java.lang.Integer常见问题
- oracle触发器的启用和停用
- 【无用】随笔_摘抄
- 数据库操作练习2
- 快速例子学习mongodb的mapreduce
- dubbo的使用详解
- Python脚本 —Windows下文件备份
- Android TextView使用SpannableString设置复合文本的方法
- linux tty1-7理解
- 仿照百度网盘的分析
- Java学习记录–泛型擦除分析
- uva12298(Super Poker II)-FFT(快速傅里叶变换)