题目来源:https://sqlzoo.net/
在学了将近一个月的Java编程后,老师推荐了一个网址:https://sqlzoo.net/,说让我们自己练习MySQL。
在网站里“溜达”了一圈后,感觉这个网站确实不错!首先,里面有许多题目可供练习,从最基础的增删改查到多表操作…如果能练习完里面的所有题目,那么MySQL技能将会有一个很大的提升!其次,里面的数据是真实的,全部来源于现实。最后,网站中的数据来源非常广泛,社会、人文等应有尽有,在这个网站中学习MySQL,不仅能学习到专业知识,也能了解其他方面的知识,增加见识。
所以,开了这个专栏,用于记录。
SELECT names
1.你可以用WHERE name LIKE 'B%'來找出以 B 為開首的國家。
%是萬用字元,可以用代表任何字完。
找出以 Y 為開首的國家。
select name from world where name like 'Y%';
2. 找出以 Y 為結尾的國家。
select name from world where name like '%Y';
3.“Luxembourg 盧森堡”中有一個x字母,還有一個國家的名字中有x。列出這兩個國家。 找出所有國家,其名字包括字母x。
select name from world where name like '%x%';
4.“Iceland 冰島”和“Switzerland 瑞士”的名字都是以”land”作結束的。還有其他嗎? 找出所有國家,其名字以 land 作結尾。
select name from world where name like '%land';
5.“Columbia 哥倫比亞”是以 C 作開始,ia 作結尾的。還有兩個國家相同。 找出所有國家,其名字以 C 作開始,ia 作結尾。
select name from world where name like 'C%ia';
6. “Greece 希臘”中有雙 e 字。哪個國家有雙 o 字呢? 找出所有國家,其名字包括字母oo。
select name from world where name like '%oo%';
7.“Bahamas 巴哈馬”中有三個 a,還有嗎? 找出所有國家,其名字包括三個或以上的a。
select name from world where name like '%a%a%a%';
8. “India 印度”和”Angola 安哥拉”的第二個字母都是 n。 你可以用底線符_當作單一個字母的萬用字元。
select name from world where name like '%land';
在这里插入图片描述<hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">
8.“Iceland 冰島”和“Switzerland 瑞士”的名字都是以”land”作結束的。還有其他嗎?
找出所有國家,其名字以 land 作結尾。
select name from world where name like '_t%';
#ORDER BY name 用于根据name字段排序。可写可不写
9. “Lesotho 賴索托”和”Moldova 摩爾多瓦”都有兩個字母 o,被另外兩個字母相隔着。 找出所有國家,其名字都有兩個字母 o,被另外兩個字母相隔着。
select name from world where name like '%o__o%';
10. “Cuba古巴”和”Togo 多哥”都是 4 個字母。 找出所有國家,其名字都是 4 個字母的。
select name from world where name like '____';
11. “Luxembourg 盧森堡”的首都 capital 都同樣叫“Luxembourg”。 顯示所有國家名字,其首都和國家名字是相同的。
select name from world where name=capital;
12. “Mexico 墨西哥”的首都是”Mexico City”。 顯示所有國家名字,其首都是國家名字加上”City”。
select name from world where capital like concat(name, ' City');
13.找出所有首都和其國家名字,而首都要有國家名字中出現。
select capital ,name from world where capital like concat('%',name,'%');
14. 找出所有首都和其國家名字,而首都是國家名字的延伸。 你應顯示 Mexico City,因它比其國家名字 Mexico 長。 你不應顯示 Luxembourg,因它的首都和國家名相是相同的。
select name,capital from world where capital like concat(name,'%') and capital != name;
15. "Monaco-Ville"是合併國家名字 "Monaco" 和延伸詞"-Ville". 顯示國家名字,及其延伸詞,如首都是國家名字的延伸。 你可以使用SQL函數 REPLACE 或 MID.
select name,replace(capital,name,'') as name_1 from world where capital like concat(name,'_%');