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