Mysql多表联合查询

一、建表


我们需要三张表 分别是Jursdiction(权限表)

PS:最后一个可点击的框内是设置主键
                
然后就是Project(项目表)


然后是User(用户表)

二、填充数据

右键数据库 选择命令行界面

或者 直接按快捷键F6 即可进入命令列界面

输入插入用户表User的语句,回车即可执行

出现红框内的提示则插入成功,重复此步骤10次即插入10条用户

再插入项目表Project的数据

这里要注意的是第二个参数是创建者id 要和用户表所对应 需要改变第三个参数项目名称 
插入10次

最后插入权限表Jursdiction的数据

这里要注意的是第二个和第三个参数,第二个参数是用户的id 需要与用户表对应,第三个是项目id,要与项目表对应
插入10次

三、创建存储过程

右键左侧的函数 选择新建函数

点击过程

进入到参数页面 我们暂时先不添加参数 点击完成即可

进入存储过程编写的页面

四、分析逻辑、编写存储过程

首先,权限表里的id要和用户传进来的id相连 所以这就是我们的第一个条件 这里的uid是我们带的参数,需要在下方的参数框声明 我们先查出用户对应的权限id 接着,权限表里的项目id要和项目表的项目id相连 这就是我们的第二个条件 在这里要注意的是因为项目表要和权限表的项目id做判断,我们要在from后面加上两个表名 这样子我们就可以查出来用户的项目权限了 最后,为了知道用户对应的项目名,我们在select后加上项目的名字projectname字段 点击保存 输入存储过程名 点击运行 输入参数(用户id) 注意:varchar类型数据传参的时候一定要加单引号 ‘xxxx’ 结果如下: 这就是简单的多表连接查询啦

工作人员

 
                    
作者:王喜帮
信息录入:王喜帮