Mysql 当列为NULL时,如何获取此查询?
我试图执行此查询以获取所有用户、组和电子邮件的列表,但我的问题是,当用户与任何组都不相关时,因此列radcheck.id_group=NULL,但我仍然希望列出它Mysql 当列为NULL时,如何获取此查询?,mysql,sql,Mysql,Sql,我试图执行此查询以获取所有用户、组和电子邮件的列表,但我的问题是,当用户与任何组都不相关时,因此列radcheck.id_group=NULL,但我仍然希望列出它 选择 radcheck.username作为用户名, group.name作为groupname, group.id作为gid, useremail.email作为电子邮件 来自useremail、group、radcheck 哪里 radcheck.username=useremail.username 和group.id=radc
选择
radcheck.username作为用户名,
group.name作为groupname,
group.id作为gid,
useremail.email作为电子邮件
来自useremail、group、radcheck
哪里
radcheck.username=useremail.username
和group.id=radcheck.id_组;
如何正确编写它?使用显式,
左连接
s:
SELECT
r.username AS username,
g.name AS groupname,
g.id as gid,
u.email
FROM useremail u
LEFT JOIN radcheck r ON r.username = u.username
LEFT JOIN group g ON g.id = r.id_group
使用表别名通常也是一种很好的做法:它们使查询更易于阅读和维护(并在需要时允许自联接表…。使用左联接:
SELECT
radcheck.username AS username,
group.name AS groupname,
group.id as gid,
useremail.email as email
FROM useremail left join radcheck
ON radcheck.username = useremail.username
left join group
ON group.id = radcheck.id_group
这可能是几十年前引入现代显式连接表示法的众多原因之一,也是隐式“逗号”连接表示法在几乎同样长的时间内不受欢迎的原因之一。@LeandroFabrisMilani:alias fixed!