这是关于在一个SQL学习网站的练习题答案记录:SQL教程
这里的默认表格为WORLD表格 。
name | continent | area | population | gdp |
---|---|---|---|---|
Afghanistan | Asia | 652230 | 25500100 | 20343000000 |
Albania | Europe | 28748 | 2831741 | 12960000000 |
Algeria | Africa | 2381741 | 37100000 | 188681000000 |
Andorra | Europe | 468 | 78115 | 3712000000 |
Angola | Africa | 1246700 | 20609294 | 100990000000 |
.... |
name:国家名称 continent:大洲 area:面积 population:人口 gdp:国内生产总值
SQL对大小写不敏感。
SELECT population
FROM world
WHERE name = 'Germany'
gdp/population
)SELECT name, gdp/population
FROM world
WHERE area > 5000000
SELECT name, population
FROM world
WHERE name IN ('Ireland', 'Iceland', 'Denmark');--IN 操作符允许我们在 WHERE 子句中规定多个值
SELECT name, area
FROM world
WHERE area
BETWEEN 200000 AND 250000;
--操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。
name | continent |
---|---|
Afghanistan | Asia |
Albania | Europe |
Algeria | Africa |
Andorra | Europe |
Angola | Africa |
.... |
name:国家名称 continent:大洲
SQL 通配符
在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。
SQL 通配符必须与 LIKE 运算符一起使用。
在 SQL 中,可使用以下通配符:
通配符 | 描述 |
---|---|
% | 替代一个或多个字符 |
_ | 仅替代一个字符 |
[charlist] | 字符列中的任何单一字符 |
[^charlist]或者[!charlist] | 不在字符列中的任何单一字符 |
SELECT name
FROM world
WHERE name LIKE 'Y%'
--LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
SELECT name
FROM world
WHERE name LIKE '%Y'
SELECT name
FROM world
WHERE name
LIKE '%x%'
SELECT name
FROM world
WHERE name
LIKE '%land'
SELECT name
FROM world
WHERE name
LIKE 'C%ia'
SELECT name
FROM world
WHERE name
LIKE '%oo%'
SELECT name
FROM world
WHERE name
LIKE '%a%a%a%'
SELECT name
FROM world
WHERE name
LIKE '_t%'
ORDER BY name
SELECT name
FROM world
WHERE name
LIKE '%o__o%'
10 . 找出名字是4个字母的国家。
SELECT name
FROM world
WHERE name
LIKE '____'
SELECT name
FROM world
WHERE name = capital; --可以加空格
SELECT name
FROM world
WHERE capital = concat(name,' City');--注意City前面的空格
SELECT capital,name
FROM world
WHERE capital
LIKE concat('%',name,'%')
SELECT name,capital
FROM world
WHERE capital
LIKE concat(name,'%') --注意审题,国家名字的延伸,那么国家名字应该在最前面。
AND capital != name;--这里也可以用"<>"
"Monaco-Ville"是合併國家名字 "Monaco" 和延伸詞"-Ville".
顯示國家名字,及其延伸詞,如首都是國家名字的延伸。
你可以使用SQL函數 REPLACE 或 MID。
SELECT name,replace(capital, name, '')
FROM world
WHERE capital
LIKE concat(name,'%_')
/*replace函数定义
replace(original-string,search-string,replace-string)
original-string: 被搜索的字符串。可为任意长度。
search-string: 要搜索并被 replace-string 替换的字符串。该字符串的长度不应超过 255 个字节。如果 search-string 是空字符串,则按原样返回原始字符串。
replace-string: 该字符串用于替换 search-string。可为任意长度。如果 replacement-string 是空字符串,则删除出现的所有 search-string。
说明
用字符串表达式3替换字符串表达式1中出现的所有字符串表达式2的匹配项。返回新的字符串。
如果有某个参数为 NULL,此函数返回 NULL。
*/
原文:https://www.cnblogs.com/sunshinewang/p/10520017.html