leetcode数据库相关题目和答案部分汇总

176.第二高薪
思路:小于最高薪的最高薪即为第二高薪
select max(salary) as SecondHighestSalary
from employee
where salary < (select max(salary) from employee)

177.第N高薪

思路:使用order by desc limit n,选出前n个高薪的,再min选择最小的一个即为第N高薪

select if (count from(
select min(salary) as min,count(1) as count
from
(select DISTINCT salary
from employee
order by salary desc
limit n)a
)b

  1. 从不订购的客户

思路:not in
elect Name as Customers
from Customers as a
where Id not in (select CustomerId from Orders)

思路:空对空也能匹配上,依据null来筛选
select c.Name as Customers
from Customers c
left join Orders d
on c.Id = d.CustomerId
where d.CustomerId is null

数据查询语言(DQL):其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其他类型的SQL语句一起使用。
数据操作语言(DML):其语句包括动词INSERT,UPDATE和DELETE。它们分别用于添加,修改和删除表中的行。也称为动作查询语言。
事务处理语言(TPL):它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。
数据控制语言(DCL):它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。
数据定义语言(DDL):其语句可在数据库中创建新表(CREAT TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得数据有关的保留字。它也是动作查询的一部分。
指针控制语言(CCL):它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。

抽象是对实际人、事、物和概念中抽取所关心的共同特征,忽略非本质的细节,并把这些特征用各种概念精确地加以描述
分类:a member
of——定义某一类概念作为现实世界中一组对象的类型
聚集:a part of——定义某一类型的组成成分
概括:a subset of——定义类型之间的一种自己联系;继承性

你可能感兴趣的:(SQL,presto,hive)