MySQL技术求助:查询以N、O、P开头的国家并按名称排序
解决MySQL检索以N、O、P开头的国家全量数据并排序的问题
正确SQL语句写法
方法1:使用OR连接多个LIKE条件
SELECT * FROM country WHERE name LIKE 'N%' OR name LIKE 'O%' OR name LIKE 'P%' ORDER BY name;
方法2:使用正则表达式简化条件
SELECT * FROM country WHERE name REGEXP '^[NOP]' ORDER BY name;
错误原因说明
你之前的语句SELECT * from country where name like 'N%' 'O%' 'P%' order by name存在语法错误:MySQL无法识别连续放置的多个LIKE条件,必须用OR逻辑运算符分隔多个筛选规则,否则只会执行第一个LIKE 'N%',后续条件会被忽略或触发语法异常,导致结果不符合预期。
示例结果表格
| Name | CountryCode | GDP | LifeExpectancy |
|---|---|---|---|
| Namibia | NAM | 12700000000 | 61.1 |
| Nepal | NPL | 34000000000 | 71.1 |
| Norway | NOR | 403000000000 | 82.5 |
| Oman | OMN | 79000000000 | 78.4 |
| Pakistan | PAK | 347000000000 | 67.3 |
| Peru | PER | 224000000000 | 74.7 |
内容的提问来源于stack exchange,提问作者benny
相关产品推荐
相关产品推荐

