Language: English  • 中文
name continent
Afghanistan Asia
Albania Europe
Algeria Africa
Andorra Europe
Angola Africa
....

name:国家名称
continent:洲份

Pattern Matching Strings

此教程使用LIKE运算子来检查国家名字,我们会在world表格中运用SELECT语句:

Summary
 
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%'
and name like '%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 '_n%'
ORDER BY name

找出所有国家,其名字以t作第二个字母。

SELECT name FROM world
WHERE name LIKE '_t%'

9.

“Lesotho 赖索托”和”Moldova 摩尔多瓦”都有两个字母o,被另外两个字母相隔着。

找出所有国家,其名字都有两个字母o,被另外两个字母相隔着。

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

10.

“Cuba古巴”和”Togo 多哥”都是4 个字母。

找出所有国家,其名字都是4 个字母的。

SELECT name FROM world
WHERE LENGTH(name)=4

更困难的问题

如你觉得以上题目太容易了,非常好。Well done for getting this far. 下面的题目更困难,更有挑战性!

 

11.

“Luxembourg 卢森堡”的首都capital 都同样叫“Luxembourg”。

显示所有国家名字,其首都和国家名字是相同的。

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

12.

“Mexico 墨西哥”的首都是”Mexico City”。

显示所有国家名字,其首都是国家名字加上”City”。

concat函数
SELECT name FROM world
WHERE capital=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 LENGTH(capital)<>LENGTH(name);

15.

"Monaco-Ville"是合并国家名字"Monaco" 和延伸词"-Ville".

显示国家名字,及​​其延伸词,如首都是国家名字的延伸。

你可以使用SQL函数REPLACE或MID.

select name,replace(capital, name, '') from world where capital Like concat(name,'%_')  

 
 
 

mysql----SELECT names/zh的更多相关文章

  1. sqlzoo练习答案--SELECT names/zh

    name continent Afghanistan Asia Albania Europe Algeria Africa Andorra Europe Angola Africa .... name ...

  2. mysql set names 命令和 mysql 字符编码问题

    先看下面的执行结果: (root@localhost)[(none)]mysql>show variables like 'character%'; +--------------------- ...

  3. mysql select 格式化输出

    select * from test\G; MySQL的客户端命令行工具,有很多方便使用者的特性,某些方面甚至可以说比Oracle的sqlplus更加人性化.当然从整体来说,还是sqlplus更加方便 ...

  4. mysql set names 命令和 mysql字符编码问题

    先看下面的执行结果: (root@localhost)[(none)]mysql>show variables like 'character%'; +--------------------- ...

  5. mysql select日期格式

    mysql表中datatime类型存储为2016-01-10,C#直接select 后,在datatable里面看,变成01/10/2016,需要还原回去,使用select DATE_FORMAT(列 ...

  6. mysql select

    select 查询: 赋值:赋值不能应用在where中,因为where操作的是磁盘上的文件,可以应用在having筛选中. 例:select (market_price-shop_price) as ...

  7. mysql SELECT FOR UPDATE语句使用示例

    以MySQL 的InnoDB 为例,预设的Tansaction isolation level 为REPEATABLE READ,在SELECT 的读取锁定主要分为两种方式:SELECT ... LO ...

  8. MySQL select into 和 SQL select into

    现在有张表为student,我想将这个表里面的数据复制到一个为dust的新表中去,虽然可以用以下语句进行复制,总觉得不爽,希望各位帮助下我,谢谢.  answer 01: create table d ...

  9. mysql SELECT FOUND_ROWS()与COUNT(*)用法区别

    在mysql中 FOUND_ROWS()与COUNT(*)都可以统计记录,如果都一样为什么会有两个这样的函数呢,下面我来介绍SELECT FOUND_ROWS()与COUNT(*)用法区别   SEL ...

  10. php学习之道:mysql SELECT FOUND_ROWS()与COUNT(*)使用方法差别

    在mysql中 FOUND_ROWS()与COUNT(*)都能够统计记录.假设都一样为什么会有两个这种函数呢.以下我来介绍SELECT FOUND_ROWS()与COUNT(*)使用方法差别 SELE ...

随机推荐

  1. 【HDFS API编程】第一个应用程序的开发-创建文件夹

    /** * 使用Java API操作HDFS文件系统 * 关键点: * 1)创建 Configuration * 2)获取 FileSystem * 3)...剩下的就是 HDFS API的操作了*/ ...

  2. 【EF6学习笔记】(五)数据库迁移及部署

    原文地址:Code First Migrations and Deployment 原文主要讲两部分:开发环境下数据库迁移到其他数据库服务器:以及在Azure上如何部署应用: 迁移数据库 原文前面讲一 ...

  3. 记录一下对swiper4.x.js在H5单页中的滑动优化

    应用场景 仅仅应用于单页应用的滑动操作,用swiper4.x接管页面的滚动操作.用来支持顶部和尾部的回弹效果,进一步来支持常见那种下拉刷新动画效果.不适用于轮播图那种应用场景. 虽然只是针对swipe ...

  4. Nacos系列:Nacos的三种部署模式

    三种部署模式 Nacos支持三种部署模式 1.单机模式:可用于测试和单机使用,生产环境切忌使用单机模式(满足不了高可用) 2.集群模式:可用于生产环境,确保高可用 3.多集群模式:可用于多数据中心场景 ...

  5. Go基础系列:Go接口

    接口用法简介 接口(interface)是一种类型,用来定义行为(方法). type Namer interface { my_method1() my_method2(para) my_method ...

  6. RNN入门(三)利用LSTM生成旅游点评

    介绍   前几天,某个公众号发文质疑马蜂窝网站,认为它搬运其它网站的旅游点评,对此,马蜂窝网站迅速地做出了回应.相信大多数关注时事的群众已经了解了整个事情的经过,在这里,我们且不论这件事的是是非非,也 ...

  7. [日常]总结2016年7月入职至2016年7月26号微盘所遇bug

    2016年刚入职后在新浪微盘项目上所遇到的问题: 1.前端接口的程序不同版本问题,版本号在程序路径中区分,比如2.4.2/lib/sdk/api/weipan/Client.php 2.文件夹接口的m ...

  8. JavaWeb学习日记----DTD

    DTD:文档类型定义,可以定义合法的XML文档构建模块.使用一系列的合法标签元素来定义文档的结构. 现有一个XML文档内容如下: <?xml version="1.0"?&g ...

  9. select&epoll

    内核空间和用户空间 现在操作系统都是采用虚拟存储器,那么对 32 位操作系统而言,它的寻址空间(虚拟地址空间,或叫线性地址空间)为 4G(2的32次方).也就是说一个进程的最大地址空间为 4G.操作系 ...

  10. BZOJ 1874: [BeiJing2009 WinterCamp]取石子游戏(SG函数)

    Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 871  Solved: 365[Submit][Status][Discuss] Description ...