【发布时间】:2015-02-27 06:34:23
【问题描述】:
假设有 2 个这样的实体
city(name, country, population)
country(code, name, capital, population)
问题是不同国家/地区存在同名的城市。例如,美国得克萨斯州的巴黎和法国的巴黎。但是,我们假设一个国家的每个城市在该国都有一个唯一的名称。查找具有唯一名称的城市名称。
这样会行吗
SELECT DISTINCT c1.name
FROM city c1, city c2
WHERE c1.name<>c2.name;
【问题讨论】:
-
Bad habits to kick : using old-style JOINs - 旧式 逗号分隔的表格列表 样式应该不再使用,而是建议使用ANSI-92 SQL 标准引入的正确的 ANSI JOIN 语法(20 多年前)
-
为了满足您的问题要求,您需要计算有多少城市名称被多次使用。这就是聚合函数派上用场的地方。看看这个教程w3schools.com/sql/sql_having.asp
-
创建表,插入一些数据并尝试不同的 SQL 结构——这就是你学习的方式!!!
标签: sql