sql进阶练习-简单

181. 超过经理收入的员工【简单】

 

题目:给定 Employee 表,编写一个 SQL 查询,该查询可以获取收入超过他们经理的员工的姓名。在上面的表格中,Joe 是唯一一个收入超过他的经理的员工。

题解:利用左连接或者子查询都可以。

# Write your MySQL query statement below
SELECT T1.Name AS Employee
FROM Employee T1
left join Employee T2
ON T1.ManagerId = T2.Id
WHERE T1.Salary > T2.Salary

 

182. 查找重复的电子邮箱【简单】

 

题目:编写一个 SQL 查询,查找 Person 表中所有重复的电子邮箱。

题解:利用HAVING进行筛选

# Write your MySQL query statement below
SELECT Email
FROM Person 
GROUP BY 1
HAVING COUNT(*)>1

 

183. 从不订购的客户【简单】

题目:某网站包含两个表,Customers 表和 Orders 表。编写一个 SQL 查询,找出所有从不订购任何东西的客户。

题解:NOT EXISTS

# Write your MySQL query statement below
SELECT T.Name Customers 
FROM Customers T
WHERE NOT EXISTS(
    SELECT Id
    FROM Orders 
    WHERE CustomerId = T.Id
)
;

 

 

sql进阶练习-简单

上一篇:初学MySQL数据库


下一篇:MySQL查询