MySQL分组排序去重多表联查_MySQL基础(二):多表查询 -- 分组排序

多表查询 : 连接查询-子查询

MySQL基础操作链接 ; 工具: SQLyog

MySQL语法顺序:

select[distinct]

from

join(left join/right join)

on

where

group by

having

union

order by

limit

1. 表结构

用户,角色,权限三张表(主表)及三者之间的关系通过两张 “第三张外键表”维护。“外键表”中的两个字段分别使用外键指向主表的主键。(一个用户可以有多个角色,一个角色可以有多个权限;正常来看是是一对多的关系,但是反过来 某个权限可以有多个角色拥有。 所以三者关系必须理解为多对多的关系,所以需要 “第三张外键表”去维护两张表之间的关系,同时保证实体表与实体表之间互相独立)。

表名:

用户信息表 user

用户角色表 user_role

字段

类型

描述

字段

类型

描述

id

int(11) NOT NULL

主键,自增

uid

int(11) NOT NULL

外键:user id

name

varchar(255) NOT NULL

名称

rid

int(11) NOT NULL

外键:role id

password

varchar(255) NOT NULL

密码

age

int(11) NOT NULL

年龄

gender

char(1) NOT NULL

性别

角色信息表 role

角色权限表 role_permisson

字段

类型

描述

字段

类型

描述

id

int(11) NOT NULL

主键,自增

rid

int(11) NOT NULL

外键:role id

rolename

varchar(255) NOT NULL

名称

pid

int(11) NOT NULL

外键:permission id

权限信息表 permission

字段

类型

描述

id

int(11) NOT NULL

主键,自增

name

varchar(255) NOT NULL

权限

具体建表语句:

创建用户表:

CREATE TABLE `user` (

`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '

你可能感兴趣的:(MySQL分组排序去重多表联查)