【问题标题】:SQL query tutorialSQL查询教程
【发布时间】: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


【解决方案1】:

这将找到数据库中唯一的所有城市。

SELECT name
FROM city
Group by city
Having count(city) = 1 

【讨论】:

  • 嗨@user3345791,如果这个或任何答案解决了您的问题,请点击复选标记考虑accepting it。这向更广泛的社区表明您已经找到了解决方案,并为回答者和您自己提供了一些声誉。没有义务这样做。
猜你喜欢
  • 2020-02-19
  • 1970-01-01
  • 2023-03-31
  • 1970-01-01
  • 2012-01-01
  • 1970-01-01
  • 2023-03-24
  • 2012-05-24
相关资源
最近更新 更多