返回

提问 添加收藏

sql 多对多该怎么查询呢

theeeeee 发布于 2019年08月14日 (共有3个回帖)

用户表:

CREATE TABLE `t_user` (
    `id` INT, 
    `NAME` VARCHAR(40)
) ENGINE = INNODB DEFAULT CHARSET = utf8;

id    用户名

1    user_1
2    user_2
3    user_3
4    user_4
5    user_5

角色表:

CREATE TABLE `t_role` (
    `id` INT, 
    `NAME` VARCHAR(40)
) ENGINE = INNODB DEFAULT CHARSET = utf8;

id    角色名

1    role_1
2    role_2
3    role_3
4    role_4
5    role_5

用户角色中间表:

CREATE TABLE `t_user_role` (
    `user_id` INT, 
    `role_id` INT
) ENGINE = INNODB DEFAULT CHARSET = utf8;

用户id    角色id

1    1
2    1
2    2
3    1
3    2
3    3
4    1
4    2
4    3
4    4
5    1
5    2
5    3
5    4
5    5

INSERT INTO t_user (id,name)VALUES(1,'user_1');
INSERT INTO t_user (id,name)VALUES(2,'user_2');
INSERT INTO t_user (id,name)VALUES(3,'user_3');
INSERT INTO t_user (id,name)VALUES(4,'user_4');
INSERT INTO t_user (id,name)VALUES(5,'user_5');

INSERT INTO t_role (id,name)VALUES(1,'role_1');
INSERT INTO t_role (id,name)VALUES(2,'role_2');
INSERT INTO t_role (id,name)VALUES(3,'role_3');
INSERT INTO t_role (id,name)VALUES(4,'role_4');
INSERT INTO t_role (id,name)VALUES(5,'role_5');

 

INSERT INTO t_user_role (user_id,role_id)VALUES(1,1);
INSERT INTO t_user_role (user_id,role_id)VALUES(2,1);
INSERT INTO t_user_role (user_id,role_id)VALUES(2,2);
INSERT INTO t_user_role (user_id,role_id)VALUES(3,1);
INSERT INTO t_user_role (user_id,role_id)VALUES(3,2);
INSERT INTO t_user_role (user_id,role_id)VALUES(3,3);
INSERT INTO t_user_role (user_id,role_id)VALUES(4,1);
INSERT INTO t_user_role (user_id,role_id)VALUES(4,2);
INSERT INTO t_user_role (user_id,role_id)VALUES(4,3);
INSERT INTO t_user_role (user_id,role_id)VALUES(4,4);
INSERT INTO t_user_role (user_id,role_id)VALUES(5,1);
INSERT INTO t_user_role (user_id,role_id)VALUES(5,2);
INSERT INTO t_user_role (user_id,role_id)VALUES(5,3);
INSERT INTO t_user_role (user_id,role_id)VALUES(5,4);
INSERT INTO t_user_role (user_id,role_id)VALUES(5,5);

怎么查出拥有角色 role_2 或者 role_3 的所有用户呢

MySQL$tag.name()$tag.name()
文明上网,理性发言
客户端 Android iPhone WP7