在雇员表中查找第二高的工资SQL语句助记

        “在雇员表中查找第二高的工资的员工记录”SQL语句怎么写

        这个查询首先查找最高工资,然后将它从列表中排除,再查找最高工资。很明显,第二次返回的是第二高工资。

select top 1 * from employee where salary not int (select max(salary) from emplyee) order by salary desc

或者

select top 1 * from(select top 2 * from employee order by salary desc) as t order by salary asc

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-23 10:23:11

在雇员表中查找第二高的工资SQL语句助记的相关文章

如何随机从数据库表中抽一条数据的SQL语句

NewID() 方法返回一个 GUID,如:EE95A489-B721-4E8A-8171-3CA8CB6AD9E4 在 select 表的时候,再增加一列为 NewID() 就可以了. SQL 语句:select *, NewID() from table 这样每条记录后就会有一个随机的 GUID 值,我们再按这个 GUID 排一下序就可以达到乱序的效果. SQL 语句:select *, NewID() as random from table order by random 我们要想随机取

_DataStructure_C_Impl:在顺序表中查找元素

// _DataStructure_C_Impl:Search #include<stdio.h> #include<stdlib.h> #define MaxSize 100 #define IndexSize 20 typedef int KeyType; //元素的定义 typedef struct{ KeyType key; }DataType; //顺序表的类型定义 typedef struct{ DataType list[MaxSize]; int length; }

3.05 在一个表中查找与其他表不匹配的记录

问题:对于具有相同关键字的两个表,要在一个表中查找与另外一个不匹配的行.例如,要查找没有职员的部门. 要查找部门中每个员工的工作岗位需要在表需要在表deptno及emp中有一个等值联接.deptno列就是这两个表之间的公共值.但是,等值联接却不能直接显示出那个部门没有员工.这是因为在表emp和dept正在等值联接时,将会返回满足联接条件的所有行.可是我们只需要那些在表dept中不满足联接条件的行. 尽管乍看起来这个问题同前一个问题类似,但是要更复杂一些.其不同之处就是在前一个问题中,需要列出在表

LeetCode:Second Highest Salary - 第二高的工资

1.题目名称 Second Highest Salary(第二高的工资) 2.题目地址 https://leetcode.com/problems/second-highest-salary/ 3.题目内容 现在有一张记录了Id(主键)和Salary(工资)的表,求出其中第二高的工资.如果不存在第二高的工资,返回null. +----+--------+ | Id | Salary | +----+--------+ | 1  | 100    | | 2  | 200    | | 3  | 

Mysql写出高质量的sql语句的几点建议

CleverCode在实际的工作也写过一些低效率的sql语句.这些语句会给数据库带来很大的压力,最主要的表现就是sql语句运行慢,后来逐渐的去优化和尝试.总结了一些高质量的sql语句的写法.这里CleverCode总结一下分享给大家. [ CleverCode发表在csdn博客中的原创作品,请勿转载,原创地址:http://blog.csdn.net/clevercode/article/details/46341147] 1 建议一:尽量避免在列上运算 尽量避免在列上运算,这样会导致索引失效.

优化、分析Mysql表读写、索引等操作的sql语句效率优化问题

为什么要优化: 随着实际项目的启动,数据库经过一段时间的运行,最初的数据库设置,会与实际数据库运行性能会有一些差异,这时我们 就需要做一个优化调整. 数据库优化这个课题较大,可分为四大类: >主机性能>内存使用性能>网络传输性能>SQL语句执行性能[软件工程师]下面列出一些数据库SQL优化方案: (01)选择最有效率的表名顺序(笔试常考) 数据库的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表将被最先处理,在FROM子句中包含多个表的情况下,你必须选择

Mysql表读写、索引等操作的sql语句效率优化问题

上次我们说到mysql的一些sql查询方面的优化,包括查看explain执行计划,分析索引等等.今天我们分享一些 分析mysql表读写.索引等等操作的sql语句. 闲话不多说,直接上代码: 反映表的读写压力 SELECT file_name AS file, count_read, sum_number_of_bytes_read AS total_read, count_write, sum_number_of_bytes_write AS total_written, (sum_number

SQL Server全库搜索(在所有表中查找内容)

SQL Server版本:SQL Server2008某个内容到底存储在数据库的哪个地方?无从下手时,可以使用全库查找.SQL Server在整个库的所有表的所有字段中查找内容,用到了临时表,游标循环. declare @Str nvarchar(max), @tableName varchar(50), @colName varchar(50), @rowCount int select a.name tableName, b.name Colname, 0 as IsFound into #

oracle中查找执行效率低下的SQL

v$sqltext:存储的是完整的SQL,SQL被分割 v$sqlarea:存储的SQL 和一些相关的信息,比如累计的执行次数,逻辑读,物理读等统计信息(统计) v$sql:内存共享SQL区域中已经解析的SQL语句.(即时) 根据sid查找完整sql语句: select sql_text from v$sqltext a where a.hash_value = (select sql_hash_value from v$session b where b.sid = '&sid'    )or