SQL ZOO我的答案1之SELECT name

SELECT name

1、找出以 Y 為開首的國家

     SELECT name FROM world WHERE name LIKE 'Y%';

2、找出以 Y 為結尾的國家。

      SELECT name FROM world WHERE name LIKE '%Y';

3、找出所有國家,其名字包括字母x。

      SELECT name FROM world WHERE name LIKE '%x%';

4、找出所有國家,其名字以 land 作結尾。

     SELECT name FROM world WHERE name LIKE '%land';

5、找出所有國家,其名字以 C 作開始,ia 作結尾。

     SELECT name FROM world WHERE name LIKE  'c%ia';

6、找出所有國家,其名字包括字母oo。

     SELECT name FROM world WHERE name LIKE '%oo%';

7、找出所有國家,其名字包括三個或以上的a。

     SELECT name FROM world WHERE name LIKE '%a%a%a%';

8、找出所有國家,其名字以t作第二個字母。

     SELECT name FROM world WHERE name LIKE '_T%';

9、找出所有國家,其名字都有兩個字母 o,被另外兩個字母相隔着。

     SELECT name FROM world WHERE name LIKE '%o__o%';

10、找出所有國家,其名字都是 4 個字母的。

     SELECT name FROM world WHERE name LIKE '____'

11、顯示所有國家名字,其首都和國家名字是相同的。

     SELECT name FROM world WHERE name = capital;

12、顯示所有國家名字,其首都是國家名字加上”City”。

     SELECT name FROM world WHERE capital = concat(name,' City');

     (CONCAT函数会降低数据库的效率,javaz中不推荐直接使用它来查找)

13、找出所有首都和其國家名字,而首都要有國家名字中出現。

     SELECT capital,name FROM world WHERE capital LIKE CONCAT('%',name,'%');

14、找出所有首都和其國家名字,而首都是國家名字的延伸。

     SELECT name,capital FROM world WHERE capital LIKE CONCAT('%',name,'%') AND name != capital;

15、顯示國家名字,及其延伸詞,如首都是國家名字的延伸。你可以使用SQL函數 REPLACE或 MID.

     SELECT name, REPLACE(capital, name, '') FROM world  WHERE capital LIKE CONCAT('%',name,'%') AND name != capital;

     或者

     SELECT name, REPLACE(capital, name, '') FROM world WHERE capital LIKE CONCAT('%',name,'%') AND REPLACE(capital, name, '') <> '';

     (mysql中<>相当于!=)

猜你喜欢

转载自blog.csdn.net/JaneHuang1/article/details/83109500