mysql - 不确定 SQL Select 查询

标签 mysql sql sql-server

我有 3 个表关系,分别称为 tblCluster、tblServer 和 tblDatabase。服务器位于集群下,数据库位于服务器下。 tblCluster中的PK是ClusterName。 tblServer中的Pk是ServerName,FK是ClusterName。 tblDatabase 中的 PK 是 DatabaseName,FK 是 Servername。如果我想查看 ClusterName 下/来自 ClusterName 的所有 ServerName 和 DatabaseName 是 Cluster5。我应该写这样的查询

SELECT tblCluster.ClusterName, tblServerName.ServerName, tblDatabase.DatabaseName 
FROM tblCluster 
JOIN tblServer 
ON tblCluster.ClusterName = tblServer.ClusterName 
INNER JOIN tblDatabase 
ON tblServer.ServerName = tblDatabase.ServerName 
WHERE tblCluster.ClusterName = Cluster5;

如果找到服务器名称,即使数据库为空,我仍然希望它显示数据库名称为空的结果表。

最佳答案

您是否尝试过使用LEFT JOIN而不是INNER JOIN - 这通常是此类要求的解决方案。 Look here获取包含一些示例的更详细说明。

关于mysql - 不确定 SQL Select 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13445773/

相关文章:

SQL - SELECT MAX() 和伴随字段

sql-server - 如何将 SQLAlchemy create_engine() 与包含 @ 的密码一起使用

php - JSON 数组到 MySQL 数据库

mysql - 在 where 子句中选择带有 IF 的记录?

mysql - SQL 使用 JOIN 查询多个表 - Northwind

sql-server - varchar 和 nvarchar SQL Server 数据类型之间的主要性能差异是什么?

java - 如何从ms sql检索数据到android studio中的 TextView

php - 您能显示哪些项目绑定(bind)到 PDO 语句吗?

MySQL 查询查找顶部项目

mysql - 当给定的列字符串完全匹配时,如何将值增加到新表?