• 售前

  • 售后

热门帖子
入门百科

Oracle多表查询中心表的创建实例教程

[复制链接]
芊芊551 显示全部楼层 发表于 2021-8-14 14:26:39 |阅读模式 打印 上一主题 下一主题
ORACLE 多表查询中心表的创建
表与表之间关系的分类:
  1.   1. 一对一(了解):
  2.    * 如:人和身份证
  3.    * 分析:一个人只有一个身份证,一个身份证只能对应一个人
  4.   2. 一对多(多对一):
  5.    * 如:部门和员工
  6.    * 分析:一个部门有多个员工,一个员工只能对应一个部门
  7.   3. 多对多:
  8.    * 如:学生和课程
  9.    * 分析:一个学生可以选择很多门课程,一个课程也可以被很多学生选择<em><strong>
  10. </strong></em>
复制代码
具体的实现方式:
  1.   1. 一对多(多对一):
  2.    * 如:部门和员工
  3.    * 实现方式:在多的一方建立外键,指向一的一方的主键。
  4.   
  5.   2. 多对多(重点):
  6.    * 如:学生和课程
  7.    * 实现方式:多对多关系实现需要借助第三张中间表。中间表至少包含两个字段,这两个字段作为第三张表的外键,分别指向两张表的主键
  8.   
  9.   3. 一对一(了解):
  10.    * 如:人和身份证
  11.    * 实现方式:一对一关系实现,可以在任意一方添加唯一外键指向另一方的主键。
复制代码
具体并且典型的实比方下
用户表 USER
  1. CREATE TABLE USER(
  2. id VARCHAR(32) PRIMARY KEY,
  3. email VARCHAR(50) UNIQUE NOT NULL,
  4. username VARCHAR(50),
  5. PASSWORD VARCHAR(50)
  6. )
  7. INSERT INTO USER(id,email,username,PASSWORD)VALUE('1','111','小明','11111')
  8. INSERT INTO USER(id,email,username,PASSWORD)VALUE('2','222','小红','22222')
  9. INSERT INTO USER(id,email,username,PASSWORD)VALUE('3','333','小张','33333')
复制代码
查询到的结果为

脚色表 ROLE
  1. CREATE TABLE role(
  2. id VARCHAR(32) PRIMARY KEY,
  3. roleName VARCHAR(50) ,
  4. roleDesc VARCHAR(50)
  5. )
  6. INSERT INTO role(id,roleName,roleDesc)VALUE('1','工程师','111')
  7. INSERT INTO role(id,roleName,roleDesc)VALUE('2','医生','222')
  8. INSERT INTO role(id,roleName,roleDesc)VALUE('3','教师','333')
复制代码
查询到的结果为

中心表
  1. CREATE TABLE users_role(
  2. userId VARCHAR(32),
  3. roleId VARCHAR(32),
  4. PRIMARY KEY(userId,roleId),
  5. FOREIGN KEY (userId) REFERENCES users(id),
  6. FOREIGN KEY (roleId) REFERENCES role(id)
  7. )
  8. INSERT INTO users_role(userId,roleId )VALUE('1','2')
  9. INSERT INTO users_role(userId,roleId )VALUE('2','2')
  10. INSERT INTO users_role(userId,roleId )VALUE('3','3')
复制代码
查询到的结果为

关联中心表进行查询
重点特殊要留意此SQL的写法
  1. 查询的结果会以中间表的id为基准(一定要理解)
复制代码
  1. --查询的结果会以中间表的id为基准
  2. SELECT * FROM users a ,role b, users_role c WHERE a.id=c.userid AND b.id=c.roleid
复制代码
查询到的结果为:

总结
到此这篇关于Oracle多表查询中心表的创建的文章就先容到这了,更多相干Oracle多表查询中心表创建内容请搜刮草根技术分享从前的文章或继续浏览下面的相干文章渴望各人以后多多支持草根技术分享!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作