LeetCode之資料庫SQL(2)

2021-09-27 03:36:46 字數 1441 閱讀 1240

題目**於leetcode資料庫:第二高的薪水

題目:編寫乙個 sql 查詢,獲取 employee 表中第二高的薪水(salary) 。

例如上述 employee 表,sql查詢應該返回 200 作為第二高的薪水。如果不存在第二高的薪水,那麼查詢應返回 null。把第二高的薪水命名secondhighestsalary

第一步:從employee表中選出salary

第二步:對sarlary去重,使用distinct

select

distinct salary

from employee;

第三步:倒序排序,也即從大到小排序,排序使用order by ,倒序使用desc;

第四步:選出第二高的薪水,使用limit a offset b,跳過b行資料,選取a行資料

select

distinct salary

from employee

order by salary desc

limit 1 offset 1;

第五步:如果不存在第二高的薪水,那麼查詢值應為null。使用ifnull函式

select ifnull(

(select

distinct salary

from employee

order by salary desc

limit 1 offset 1),

null);

第六步:把第二高薪水命名為secondhighestsalary,使用as

select ifnull(

(select

distinct salary

from employee

order by salary desc

limit 1 offset 1),

null) as secondhighestsalary;

總結:

資料庫 SQL之LIMIT ,OFFSET

select prod name from products limit 4 offset 3 limit 4 offset 3指示mysql等dbms返回從第3行 從0行計數 起的4行資料。第乙個數字是檢索的行數,第二個數字是指從哪兒開始。mysql和mariadb支援簡化版的limit 4 of...

資料庫之SQL 一

模式 描述關於庫和表的布局的以及特徵的資訊 列和資料型別 行 主鍵 在資料庫增刪改查時用sql的關鍵字進行構成 sql的關鍵字不能是列表的名 sql語句由子句構成,有些子句是必須的,有些是可選的.乙個子句通常是由乙個關鍵字和所提供的資料組成的 not操作符 upper 可以將文字轉換成大寫 lowe...

資料庫之SQL語法

建立資料庫 create database mytest 建立表 create table t user primary key 定義該列為主鍵列 auto increment表示該列的值,由dbms自動生成,為自動增長列 auto tab鍵 id int primary key auto incr...