有什么问题,欢迎评论或私聊。转载请私聊博主,谢谢。
原题链接:https://sqlzoo.net/
其他题解连接:https://blog.csdn.net/aiqiyizz/article/details/109057732
题解对应的是英文版题目。
前面的题目难度不高,就整合到一次,目录查询即可。
本来想多几节合一起的,不过量似乎挺大,就这样子吧。
文章目录
- 0 SELECT basics
- 1 SELECT names
- 2 SELECT from World
-
- 2.1 Introduction
- 2.2 Large Countries
- 2.3 Per capita GDP
- 2.4 South America In millions
- 2.5 France, Germany, Italy
- 2.6 United
- 2.7 Two ways to be big
- 2.8 One or the other (but not both)
- 2.9 Rounding
- 2.10 Trillion dollar economies
- 2.11 Name and capital have the same length
- 2.12 Matching name and capital
- 2.13 All the vowels
0 SELECT basics
0.1 Introducing the world
table of countries
SELECT population FROM world
WHERE name = 'Germany'
0.2 Scandinavia
SELECT name, population FROM world
WHERE name IN ('Sweden', 'Norway', 'Denmark');
0.3 Just the right size
SELECT name, area FROM world
WHERE area BETWEEN 200000 AND 250000
1 SELECT names
1.1 Pattern Matching Strings
SELECT name FROM world
WHERE name LIKE 'Y%'
1.2
SELECT name FROM world
WHERE name LIKE '%y'
1.3
SELECT name FROM world
WHERE name LIKE '%x%'
1.4
SELECT name FROM world
WHERE name LIKE '%land'
1.5
SELECT name FROM world
WHERE name LIKE 'C%ia'
1.6
SELECT name FROM world
WHERE name LIKE '%oo%'
1.7
SELECT name FROM world
WHERE name LIKE '%a%a%a%'
1.8
SELECT name FROM world
WHERE name LIKE '_t%'
ORDER BY name
1.9
SELECT name FROM world
WHERE name LIKE '%o__o%'
1.10
SELECT name FROM world
WHERE name LIKE '____'
正则表达式方式
SELECT name FROM world
WHERE name REGEXP '^.\{4\}$'
1.11 Harder Questions
SELECT name
FROM world
WHERE capital = name
1.12
SELECT name
FROM world
WHERE capital LIKE concat(name, ' City')
1.13
SELECT capital, name
FROM world
WHERE capital LIKE CONCAT('%', name, '%')
1.14
SELECT capital, name
FROM world
WHERE capital LIKE CONCAT(name, '%')
AND capital <> name
1.15
SELECT name, REPLACE(capital, name, '')
FROM world
WHERE capital LIKE CONCAT(name, '%')
AND capital <> name
2 SELECT from World
2.1 Introduction
SELECT name, continent, population FROM world
2.2 Large Countries
SELECT name FROM world
WHERE population > 200000000
2.3 Per capita GDP
SELECT name, gdp/population
FROM world
WHERE population > 200000000
2.4 South America In millions
SELECT name, population/1000000
FROM world
WHERE continent = 'South America'
2.5 France, Germany, Italy
SELECT name, population FROM world
WHERE name IN ('France','Germany','Italy')
2.6 United
SELECT name FROM world
WHERE name LIKE '%United%'
2.7 Two ways to be big
SELECT name, population, area FROM world
WHERE area > 3000000 OR population > 250000000
2.8 One or the other (but not both)
XOR学习(老手表示都不看)
SELECT name, population, area FROM world
WHERE area > 3000000 XOR population > 250000000
2.9 Rounding
SELECT
name,
ROUND(population/1000000,2),
ROUND(gdp/1000000000,2)
FROM world
WHERE continent = 'South America'
2.10 Trillion dollar economies
SELECT name, ROUND(gdp/population, -3)
FROM world
WHERE gdp > 1000000000000;
2.11 Name and capital have the same length
SELECT name,
capital
FROM world
WHERE LENGTH(name) = LENGTH(capital)
2.12 Matching name and capital
SELECT name, capital
FROM world
WHERE name <> capital
AND LEFT(name, 1) = LEFT(capital, 1)
2.13 All the vowels
SELECT name
FROM world
WHERE name LIKE '%a%'
AND name LIKE '%e%'
AND name LIKE '%i%'
AND name LIKE '%o%'
AND name LIKE '%u%'
AND name NOT LIKE '% %'