几个常用的查询employee工资的sql语句

几个常用的查询employee工资的sql语句

  1. return employee record with max salary
select * 
from employee
where salary = (select Max(salary) from employee)
  1. select highest salary in employee table
select Max(salary) from employee
  1. select highest salary in employee
select Max(salary)
from employee
where salary Not in (select Max(salary) from employee)
  1. select range of employee on id
select * 
from employee
where employ_id betwween 2001 and 2011
  1. select employee name, highest salary and department
select e.first_name, e.last_name e.salary, d.department_name
from employee e Inner Join department d
ON (e.department_id = d.department_id)
where salary IN (select Max(salary) from employee)
  1. select employee name, highest salary and department for each department
select e.first_name, e.last_name, e.salary, d.department_name from employee e Inner join Department d ON (e.department_id = d.department_id) where salary IN (select Max(salary) from employee group by department_id)
  1. Find Nth Highest salary in SQL
select  TOP 1 salary from 
(select DISTINCT TOP 2 salary from employee Order by salary Desc) result
Order By salary
WITH RESULT AS {
select salary, DENSE_RANK() over (Order by salary DESC) as DENSERANK
from employee 
}
Select salary
from RESULT
where RESULT.DENSERANK = 2

几个写出高效sql语句的tips

  1. 尽可能的早一点filter

  2. predict pushdown

  3. 提高数据库查询效率

  4. 在经常需要查询的地方使用索引

  5. 索引索引的值的分布应该尽可能的大

  6. 避免在where使用!= 或者<>会放弃索引

  7. 避免使用or会放弃索引

mysql示例数据库 employee,这个大家也可以到github官网下载。 https://github.com/datacharmer/test_db test_db A sample database with an integrated test suite, used to test your applications and database servers This repository was migrated from Launchpad. See usage in the MySQL docs Where it comes from The original data was created by Fusheng Wang and Carlo Zaniolo at Siemens Corporate Research. The data is in XML format. http://timecenter.cs.aau.dk/software.htm Giuseppe Maxia made the relational schema and Patrick Crews exported the data in relational format. The database contains about 300,000 employee records with 2.8 million salary entries. The export data is 167 MB, which is not huge, but heavy enough to be non-trivial for testing. The data was generated, and as such there are inconsistencies and subtle problems. Rather than removing them, we decided to leave the contents untouched, and use these issues as data cleaning exercises. Prerequisites You need a MySQL database server (5.0+) and run the commands below through a user that has the following privileges: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW Installation: Download the repository Change directory to the repository Then run mysql < employees.sql If you want to install with two large partitioned tables, run mysql < employees_partitioned.sql Testing the installation After installing, you can run one of the following mysql -t < test_employees_md5.sql # OR mysql -t < test_employees_sha.sql For example: mysql -t < test_employees_md5.sql +----------------------+ | INFO | +----------------------+ | TESTING INSTALLATION | +----------------------+ +--------------+------------------+----------------------------------+ | table_name | expected_records | expected_crc | +--------------+------------------+----------------------------------+ | employees | 300024 |
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值