MySql 查询语句 学习笔记
MySql 查询语句练习
DESC departments; |
单表练习
查询员工12个月工资总和和奖金 别名annual aslary
SELECT employee_id,last_name,salary *12*(1+IFNULL(commission_pct,0)) "annual aslary" |
查询员工表中去除重复job_id后的数据
SELECT DISTINCT job_id FROM employees; |
查询工资大于12000员工的名和工资
SELECT last_name, salary FROM employees |
查询员工工号为176的姓名和部门号
SELECT last_name,department_id FROM employees |
显示表departments 的结构 并查询其中全部数据
DESC departments; |
查询员工的姓名部门号 年薪 按年薪降序 姓名升序显示
SELECT last_name, department_id, salary * 12 annual_sal |
选择工资不在8000到17000的员工的姓名和工资 按工资排序 显示21到40的数据
SELECT last_name,salary |
查询邮箱中包含e的员工的信息 并先按邮箱的字节数降序 再按部门号升序
SELECT employee_id, last_name,email,department_id |
多表练习
显示所有员工的姓名部门号和部门名称
SELECT e.last_name,e.employee_id, d.department_id, d.department_name |
查询90号部门员工的job_id 和90号部门的location_id
SELECT e.job_id , d.location_id |
查询所有奖金的员工的last_name, department_name location_id city
SELECT e.last_name ,e.`commission_pct`, d.department_name , d.location_id , l.city |
选择city 在toronto工作的员工的last_name job_id department_id department_name
SELECT e.last_name,e.job_id,e.department_id,d.department_name,l.`city` |
查询员工所在的部门名称 部门地址 姓名工作工资 其中员工所在的部门的部门名称为Executive
SELECT d.department_name,l.street_address,e.last_name,e.job_id,e.salary |
选择指定员工的姓名 员工号 以及他的管理的姓名 员工号
SELECT emp.last_name "employee", emp.employee_id "Emp#",mgr.last_name "manager",mgr.employee_id "Mgr#" |
查询那些员工没有部门
SELECT e.`employee_id`,d.`department_id`,d.`department_name` |
查询那个城市没有部门
SELECT l.location_id, l.city,d.`department_id` |
查询部门名为sales或 it 的员工的信息
SELECT e.`employee_id`,e.last_name,e.`department_id`,d.`department_name` |
查看表结构
DESC locations; |
面试 分数降序
SELECT salary |
平均分
SELECT AVG(salary) |
/* |
显示系统的时间
SELECT CURDATE(),CURTIME(),SYSDATE() ,NOW(),LOCALTIME(); |
查询员工工号 姓名 工资以及工资提高百分比20后的结果
SELECT employee_id, last_name, salary, salary*(1+0.2)"new salary" |
将员工的姓名按首字母排序 并写出姓名长度
SELECT last_name,LENGTH(last_name) |
查询员工的id last_name salary 作为一列输出 别名为out_put
SELECT CONCAT (employee_id ,' ',last_name,' ', salary)"OUT_PUT" |
查询公司各员工工作的年数,工作的天数,按工作年数降序
SELECT employee_id,ROUND(DATEDIFF(NOW(),hire_date)/365) "worked_years",DATEDIFF(NOW(),hire_date)"worked_days" |
查询员工姓名 hire date department id 满足一下条件
雇佣时间在97年之后 id 为80 或90或110 commission_pct不为空
SELECT last_name,hire_date,department_id |
查询公司中入职超过一万天的员工的姓名 入职时间
SELECT last_name,hire_date |
输出指定结果
SELECT CONCAT(last_name,' earns ',salary,' monthly but wants ',salary*3 )"dream salary" |
使用case when
SELECT last_name "Last_name",job_id "Job_id",CASE job_id WHEN 'AD_PRES' THEN 'A' |
多行 聚合函数
查询各个部门的平均工资 最高工资
SELECT department_id, AVG(salary),SUM(salary),MAX(salary) |
查询每个工种的平均工资
SELECT AVG(salary) |
查询各个job_id的员工工资的最大值 最小值 平均值 总和
SELECT job_id ,MAX(salary) sala_max,MIN(salary) sala_min, AVG(salary) sala_avg, SUM(salary) sala_sum |
选着具有各个job_id的员工的人数
SELECT job_id,COUNT(*) |
查询员工工资最高工资和最低工资的差距
SELECT MAX(salary)-MIN(salary) "diffrence" |
查询各个管理者手下员工的最低工资 其中最低工资不能低于6000没有管理者不计算在内
SELECT manager_id,MIN(salary) sala_min |
查询所有部门的名字 location_id 员工数量和平均工资 并按平均工资降序
SELECT d.department_name, d.location_id,COUNT(employee_id), AVG(e.salary) "sala_avg" |
查询每个工种 每个部门的部门名 工种名和最低工资
SELECT d.department_name, e.job_id,MIN(e.salary) |
查询和 zlotkey相同部门的员工的姓名和工资
SELECT last_name,salary |
查询工资比公司平均工资高的员工的工号 姓名和工资
SELECT employee_id,last_name,salary |
选着工资大于所有JOB_ID=’SA_MAN’的员工的工资的员工的姓名 job_id salary
SELECT last_name,job_id,salary |
查询 和姓名中包含字母u的员工在相同部门的 员工的工号和姓名
SELECT employee_id, last_name |
查询在部门location_id为1700的部门工作的员工的员工号
SELECT employee_id |
查询工资最低的员工的信息
SELECT last_name, salary |
查询平均工资最低的部门信息
#方式一 |
查询平均工资最低的部门信息和该部门的平均工资 相关子查询
#方式一 |
查询平均工资最高的job信息
#方式一 |
查询 平均工资 高于公司平均工资 的 部门有哪些
SELECT department_id |
查询出公司 中所有的manager的详细信息
#方式一 自连接 |
各个部门 最高工资中最低的那个部门的最低工资是多少
#方式一 |
查询平均工资最高的部门的manager的信息 last_name deparment_id email salary
#方式一 |
查询部门的部门号 其中不包括job_id是”ST_CLERK”的部门号
#方式一 |
选着所有没有管理者的员工的last_name
SELECT last_name |
查询员工号 姓名 雇佣时间 工资 其中员工的管理者为”De Haan”
#方式一 |
查询部门中工资比 本部门平均工资 高的员工的工号姓名工资 相关子查询
#方式一 from中声明子查询 |
查询每个部门下的部门 人数大于5 的部门名 相关子查询
SELECT department_name |
查询每个国家下的部门个数大于2的国家编号 相关子查询
SELECT country_id |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 JiyCXX!