mySQL内部联接表(如果需要)
嘿,我有以下疑问:mySQL内部联接表(如果需要),mysql,inner-join,Mysql,Inner Join,嘿,我有以下疑问: SELECT UA.Fname, UA.LName, UA.Title, UA.AccDate, UA.Address1, UA.Address2, UA.City, UA.State, UA.Zip, UA.Email, UA.Phone, LabCaseNum, SpecCaseNum, deadlineDate, CaseDetail, AU.Fname as AuthName, AU.Lname, AU.Phone, AU.Email, AU.Rol
SELECT UA.Fname, UA.LName, UA.Title, UA.AccDate, UA.Address1,
UA.Address2, UA.City, UA.State, UA.Zip, UA.Email, UA.Phone,
LabCaseNum, SpecCaseNum, deadlineDate, CaseDetail,
AU.Fname as AuthName, AU.Lname, AU.Phone, AU.Email, AU.Role
FROM userAccount UA
INNER JOIN userCase UC ON UA.AccNum = UC.Userlink
INNER JOIN authPerson AU ON UC.CaseNum = AU.UserCase
WHERE UC.CaseNum = 7903579800;
如果AU表中有数据,则其工作正常。但是,如果AU表中没有记录,则不会返回任何记录,即使UC和UA表中始终有数据要保存
如果没有要收集的数据,如何设置上述查询的格式以忽略AU表?您是否尝试在该表上使用:
SELECT UA.Fname, UA.LName, UA.Title, UA.AccDate, UA.Address1,
UA.Address2, UA.City, UA.State, UA.Zip, UA.Email, UA.Phone,
LabCaseNum, SpecCaseNum, deadlineDate, CaseDetail,
AU.Fname as AuthName, AU.Lname, AU.Phone, AU.Email, AU.Role
FROM userAccount UA
INNER JOIN userCase UC ON UA.AccNum = UC.Userlink
LEFT JOIN authPerson AU ON UC.CaseNum = AU.UserCase
WHERE UC.CaseNum = 7903579800;
这将返回其他表
UA
和UC
中的所有行,并且如果该表中没有匹配的UserCase
,它将返回AU
行的null
。在AU上尝试左外连接。这将返回第一个表中的所有行,无论AU是否有数据。如果没有AU数据,则为AU字段返回空值
SELECT UA.Fname, UA.LName, UA.Title, UA.AccDate, UA.Address1,
UA.Address2, UA.City, UA.State, UA.Zip, UA.Email, UA.Phone,
LabCaseNum, SpecCaseNum, deadlineDate, CaseDetail,
AU.Fname as AuthName, AU.Lname, AU.Phone, AU.Email, AU.Role
FROM userAccount UA
INNER JOIN userCase UC ON UA.AccNum = UC.Userlink
LEFT OUTER JOIN authPerson AU ON UC.CaseNum = AU.UserCase
WHERE UC.CaseNum = 7903579800;
谢谢迈克对我的答案做出贡献。@StealthRT…没问题:)