Oracle多表查询中间表的创建实例教程 |
|
ORACLE 多表查询中间表的创建 表与表之间关系的分类:
具体的实现方式:
详细并且典型的实例如下 用户表 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')
查询到的结果为
角色表 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')
查询到的结果为
中间表
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')
查询到的结果为
关联中间表进行查询 重点特别要注意此SQL的写法
--查询的结果会以中间表的id为基准 SELECT * FROM users a ,role b, users_role c WHERE a.id=c.userid AND b.id=c.roleid 查询到的结果为:
总结 到此这篇关于Oracle多表查询中间表的创建的文章就介绍到这了,更多相关Oracle多表查询中间表创建内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! |