在join子句中显示空单元格

San*_*kan 1 mysql sql select

我试图让表格显示它的全部内容,尽管可能有一些空单元格.该表包含一个小俱乐部的十个可能的职位(即主席,秘书等).每个位置都是指成员表中的成员ID,具体取决于被选为该职位的人员.一个职位可能是空缺的,这正是我想要完成的.结构(简化)如下:

表"成员"

CREATE TABLE members (
    id_member INT NOT NULL,
    member_name VARCHAR(45),
    PRIMARY KEY (id_member));
Run Code Online (Sandbox Code Playgroud)

表"位置"

CREATE TABLE positions (
    id_position INT NOT NULL,
    position_name VARCHAR(45),
    PRIMARY KEY (id_position)
    FOREIGN KEY (id_member) REFERENCES members(id_member));
Run Code Online (Sandbox Code Playgroud)

选择语法

SELECT position_name, member_name
FROM members
JOIN positions USING(id_members);
Run Code Online (Sandbox Code Playgroud)

只要在某个位置上有成员但是如果它是空的,那么该行就不会出现.是否有一些方法可以使表位置总是返回每一行,尽管列id_member有空单元格?
期望的结果:
Chariman - Jack Carver
秘书 - Joe Hill
Accounter - NULL
网站管理员 - Joanna Robson

Joh*_*Woo 5

使用LEFT JOIN而是交换tableNames

SELECT position_name, member_name
FROM   positions
       LEFT JOIN members USING(id_members);
Run Code Online (Sandbox Code Playgroud)

要充分了解联接知识,请访问以下链接: