SQL三表联合查询

SQL三表联合查询请求帮助!!... SQL三表联合查询请求帮助!! 展开
 我来答
paul50060049
2017-07-20 · 超过20用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:39.8万
展开全部
-- User不能用作表名,用tUser作名
DROP TABLE tUser;
CREATE TABLE tUser (
  UserID    NUMBER,
UserName  VARCHAR2(10),
UserRole  VARCHAR2(10),
RealName  VARCHAR2(10));

INSERT INTO tUser (UserID,UserName,UserRole,RealName) VALUES (1,'wll','职工','王丽丽');
INSERT INTO tUser (UserID,UserName,UserRole,RealName) VALUES (2,'zdd','主任','张冬冬');
INSERT INTO tUser (UserID,UserName,UserRole,RealName) VALUES (3,'ljj','经理','李晶晶');

CREATE TABLE tRole (
  RoleID    NUMBER,
RoleName VARCHAR2(10),
fDesc   VARCHAR2(10));

INSERT INTO tRole (RoleID,RoleName,fDesc) VALUES (1,'职工','员工');
INSERT INTO tRole (RoleID,RoleName,fDesc) VALUES (2,'主任','中层');
INSERT INTO tRole (RoleID,RoleName,fDesc) VALUES (3,'经理','高层');

CREATE TABLE tUser_Role (
  ID        NUMBER,
UserID    NUMBER,
RoleID    NUMBER);

INSERT INTO tUser_Role (ID,UserID,RoleID) VALUES (1,1,1);
INSERT INTO tUser_Role (ID,UserID,RoleID) VALUES (2,2,2);
INSERT INTO tUser_Role (ID,UserID,RoleID) VALUES (3,3,3);

-- 查询语句为:
SELECT A.UserID,B.UserName,B.RealName,A.RoleID,C.RoleName
  FROM 
  tUser_Role A
JOIN
  tUser B ON A.UserID = B.UserID
JOIN
  tRole C ON A.RoleID = C.RoleID;
/**
查询结果如下:
    USERID USERNAME   REALNAME       ROLEID ROLENAME
---------- ---------- ---------- ---------- ----------
         1 wll        王丽丽              1 职工
         2 zdd        张冬冬              2 主任
         3 ljj        李晶晶              3 经理
**/
莱伯泰科
2024-10-28 广告
北京莱伯泰科仪器股份有限公司北京莱伯泰科仪器股份有限公司成立于2002年,是一家专业从事实验分析仪器的研发、生产和销售的科技型公司。莱伯泰科自成立之初便致力于为环境检测、食品安全、疾病控制、半导体检测、生命科学、能源化工、核环保、公安司法、... 点击进入详情页
本回答由莱伯泰科提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式