现在在我的高中班级中,我们正在学习 MySQL 以及如何根据某些条件选择和排序项目。例如
Select CountryCode from Country where code like '_W%'
这段代码在我的数据库中有效,但还有一个我无法解决的问题:
检索以字符“N”、“O”或“P”开头的国家/地区的所有数据。对它们进行排序 按名称字母顺序排列。
我明白我们必须使用通配符,并且我尝试了一切,但它就是行不通,它要么只显示以 N 开头的国家,要么显示“null”的完整列表
我现在的代码查询是
SELECT * from country where name like 'N%' 'O%' 'P%' order by name
我希望尽快得到任何帮助,因为我还有其他需要处理的科目
答案看起来有点像这样:但更详细,包含更多列和行,其中包含 GDP、预期寿命等数据
姓名 | 大陆 |
---|---|
纳米比亚 | 非洲 |
阿曼 | 亚洲 |
巴基斯坦 | 亚洲 |
-------- | -------------- |
感谢 Sohail 的回答,它成功了!
不会非常高效,因为它将在内部被视为具有模式匹配的 3 个子查询。此外,OR 使得引擎有必要检查重复项 - 尽管我们知道没有重复项。 虽然其中大部分(但不是全部)将由优化器修复,但这样写会更好(也更易读):
这应该有效,因为您必须编写
name LIKE 'N%' OR name LIKE ...