这个系列好像是和数据库相关的内容,需要补充一点这些知识。
做这些题目前,需要了解一些 SQL 语法。
595. Big Countries
Analysis
2 个注意点:
- 只要挑出需要显示的列
- 不少于指定的数值即满足条件
Code
1 | select name, area, population from World where area >= 3000000 or population >= 25000000 |
也可以使用 UNION 来连接两个子查询。1
2
3select 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 中挑出名称,从表 2 中找出符合条件的数据
- 最后得到的结果的表头要改变
- 如何判断不满足条件
Code
1 | select name as 'Customers' from Customers where id not in (select customerID from Orders) |
Summary
问题都比较简单,但是不懂语法就很难受了。得找本书看看数据库的相关语法,不然有点懵逼。