小编one*_*ree的帖子

需要解释多对多关系的 SELECT 查询

我有两个通过另一个(多对多)相关的表

这是模式摘录:

CREATE TABLE user (
    user_id  INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
    email    TEXT    NOT NULL UNIQUE
);

CREATE TABLE alias (
    alias_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
    address  TEXT    NOT NULL UNIQUE
);

CREATE TABLE alias_member (
    alias_id INTEGER NOT NULL,
    user_id  INTEGER NOT NULL,
    PRIMARY KEY(alias_id, user_id),
    FOREIGN KEY(alias_id) REFERENCES alias(alias_id) ON DELETE CASCADE,
    FOREIGN KEY(user_id)  REFERENCES user(user_id)   ON DELETE CASCADE
);
Run Code Online (Sandbox Code Playgroud)

我有一个满足我需求的查询:

SELECT email
FROM
    user,
    alias,
    alias_member
WHERE 
    user.user_id = alias_member.user_id
    AND alias.alias_id = …
Run Code Online (Sandbox Code Playgroud)

sqlite

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

sqlite ×1