资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

使用Oracle怎么创建多表查询中间表-创新互联

这篇文章将为大家详细讲解有关使用Oracle怎么创建多表查询中间表,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

公司主营业务:网站建设、成都网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出雁塔免费做网站回馈大家。

ORACLE 多表查询中间表的创建

表与表之间关系的分类:

  1. 一对一(了解):
   * 如:人和身份证
   * 分析:一个人只有一个身份证,一个身份证只能对应一个人
  2. 一对多(多对一):
   * 如:部门和员工
   * 分析:一个部门有多个员工,一个员工只能对应一个部门
  3. 多对多:
   * 如:学生和课程
   * 分析:一个学生可以选择很多门课程,一个课程也可以被很多学生选择

具体的实现方式:

  1. 一对多(多对一):
   * 如:部门和员工
   * 实现方式:在多的一方建立外键,指向一的一方的主键。
  
  2. 多对多(重点):
   * 如:学生和课程
   * 实现方式:多对多关系实现需要借助第三张中间表。中间表至少包含两个字段,这两个字段作为第三张表的外键,分别指向两张表的主键
  
  3. 一对一(了解):
   * 如:人和身份证
   * 实现方式:一对一关系实现,可以在任意一方添加外键指向另一方的主键。

详细并且典型的实例如下

用户表 USER

CREATE TABLE USER(
id VARCHAR(32) PRIMARY KEY,
email VARCHAR(50) UNIQUE NOT NULL,
username VARCHAR(50),
PASSWORD VARCHAR(50)

)
INSERT INTO USER(id,email,username,PASSWORD)VALUE('1','111','小明','11111')
INSERT INTO USER(id,email,username,PASSWORD)VALUE('2','222','小红','22222')
INSERT INTO USER(id,email,username,PASSWORD)VALUE('3','333','小张','33333')

查询到的结果为

使用Oracle怎么创建多表查询中间表

角色表 ROLE

CREATE TABLE role(
id VARCHAR(32) PRIMARY KEY,
roleName VARCHAR(50) ,
roleDesc VARCHAR(50)
)

INSERT INTO role(id,roleName,roleDesc)VALUE('1','工程师','111')
INSERT INTO role(id,roleName,roleDesc)VALUE('2','医生','222')
INSERT INTO role(id,roleName,roleDesc)VALUE('3','教师','333')

查询到的结果为

使用Oracle怎么创建多表查询中间表

中间表

CREATE TABLE users_role(
userId VARCHAR(32),
roleId VARCHAR(32),
PRIMARY KEY(userId,roleId),
FOREIGN KEY (userId) REFERENCES users(id),
FOREIGN KEY (roleId) REFERENCES role(id)
)

INSERT INTO users_role(userId,roleId )VALUE('1','2')
INSERT INTO users_role(userId,roleId )VALUE('2','2')
INSERT INTO users_role(userId,roleId )VALUE('3','3')

查询到的结果为

使用Oracle怎么创建多表查询中间表

关联中间表进行查询

重点特别要注意此SQL的写法

查询的结果会以中间表的id为基准(一定要理解)

--查询的结果会以中间表的id为基准
SELECT * FROM users a ,role b, users_role c WHERE a.id=c.userid AND b.id=c.roleid

查询到的结果为:

使用Oracle怎么创建多表查询中间表

关于使用Oracle怎么创建多表查询中间表就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


本文题目:使用Oracle怎么创建多表查询中间表-创新互联
网站URL:http://www.cdkjz.cn/article/diepoi.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220