Leetcode_10 天 SQL 入门_day1

这个系列好像是和数据库相关的内容,需要补充一点这些知识。

做这些题目前,需要了解一些 SQL 语法。

595. Big Countries

Analysis

2 个注意点:

  1. 只要挑出需要显示的列
  2. 不少于指定的数值即满足条件

Code

1
select name, area, population from World where area >= 3000000 or population >= 25000000

也可以使用 UNION 来连接两个子查询

1
2
3
select name, area, population from World where area >= 3000000 
union
select name, area, population from World where population >= 25000000

1757. Recyclable and Low Fat Products

Analysis

这个题跟上个题差不多。

Coed

1
select product_id from Products where low_fats='Y' and recyclable='Y'

但是这题没办法用 UNION 来连接两个子查询,因为这个题要用 AND。

584. Find Customer Referee

Analysis

也是差不多的题,但是要注意如何得到 null。

Code

1
select name from Customer where referee_id != 2 or referee_id is null

注意不要写成:referee_id = null

183. Customers Who Never Order

Analysis

这个题要复杂一些,这个问题实质上是从 2 个表中,找出符合条件的数据,所以有几个要解决的问题:

  1. 从表 1 中挑出名称,从表 2 中找出符合条件的数据
  2. 最后得到的结果的表头要改变
  3. 如何判断不满足条件

Code

1
select name as 'Customers' from Customers where id not in (select customerID from Orders)

Summary

问题都比较简单,但是不懂语法就很难受了。得找本书看看数据库的相关语法,不然有点懵逼。


Buy me a coffee ? :)
0%