Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何编写查询以从三个表中进行选择,如果值为null,则不应选择?_Mysql - Fatal编程技术网

Mysql 如何编写查询以从三个表中进行选择,如果值为null,则不应选择?

Mysql 如何编写查询以从三个表中进行选择,如果值为null,则不应选择?,mysql,Mysql,我有三张桌子 1) 类别(u)主机 CID CTYPE --------------------- 1 2 -------------------- 2 2 -------------------- 3 1 ------------------- 4 3 ---------------- 5 2 ------------------- 6 3 2) 新南威尔士州马斯特 NID M

我有三张桌子 1) 类别(u)主机

 CID     CTYPE
---------------------
  1       2  
--------------------
  2       2
--------------------
  3       1
-------------------
  4       3
----------------
  5       2
-------------------
  6       3
2) 新南威尔士州马斯特

NID    MID    Name      Value


3) 体育硕士

 SID   MID    Name      Cat

上面是我的桌子

我必须从类别主控、NSS_主控和体育_主控中选择CTYPE、NSS.NAME、NSS.value、sports.NAME、sports.cat。它不应选择空值。例如:对于CID 2,NSS_主控表中没有值,因此它不应选择,但对于CID 3 CTYPE 1,选择名称和其他值作为空值


如何实现此感谢

使用
内部连接
避免空值:

SELECT C.CTYPE, N.NAME, N.value, S.name, S.cat 
FROM Category_Master C Inner Join NSS_master N ON C.CID = N.MID
                       Inner Join Sports_Master S ON C.CID = S.MID   

这些表是如何相互链接的?另外,一般来说,内部联接将只返回两个表中都存在链接值的行,而外部联接将返回甚至不存在链接值的行。根据MID-foreign键,生产代码不使用这些字段名,是吗?他们不是很直观我不会用这是一个样本
 SID   MID    Name      Cat
  1     4     Walk      Leg
SELECT C.CTYPE, N.NAME, N.value, S.name, S.cat 
FROM Category_Master C Inner Join NSS_master N ON C.CID = N.MID
                       Inner Join Sports_Master S ON C.CID = S.MID