`
xurichusheng
  • 浏览: 346219 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

4个互相关联的表间的查询

    博客分类:
  • sql
阅读更多

 

4个互相关联的表间的查询

 

 

有下面4个表,它们的关联关系如下:

 

student(1)---classes(n) : 1对多

 

classes(1)---teacher_class(n): 1对多

 

teacher(1)---teacher_class(n): 1对多

 

 

student : stuid(主键)   stuname

classes :  clsid(主键)    clsname

teacher :  tid(主键)       tname

teacher_class : t_c_id(主键)   clsid(外键)   tid(外键)

 

现在要查找 student 表中 stuid 对应的 stuname, clsname, tname.

 

步骤如下:

 

1. 先创建一个视图VIEW,查出 classes、teacher、teacher_class 中的 CLSID,CLSNAME,TID,TNAME

 

 

CREATE OR REPLACE VIEW v_t_c AS
SELECT TC.CLSID, C.CLSNAME, T.TID, T.TNAME
  FROM TEACHER_CLASS TC, TEACHER T, CLASSES C
 WHERE TC.TID = T.TID
   AND TC.CLSID = C.CLSID;
 

2. 将表 student 和视图 v_t_c 作联合查询:

 

 

SELECT S.STUNAME, V.CLSNAME, V.TNAME
  FROM STUDENT S, V_T_C V
 WHERE S.CLSID = V.CLSID;
分享到:
评论

相关推荐

    hibernate一对多,多对一,一对多双向关联

    单向关联只能从一个实体访问另一个,而双向关联允许两个实体之间互相访问。 3. **@OneToOne, @OneToMany, @ManyToOne 注解:** 这些是Java Persistence API (JPA) 和 Hibernate 中用于在实体类中声明关联的注解。...

    hibernate 多对多操作

    4. **中间表与关联表**: 在多对多关系中,通常需要一个中间表来存储两个实体的主键,以表示它们的关联。Hibernate默认会自动生成这个中间表,但也可以手动定义其结构。 5. **双向关联**: 多对多关系可以是单向或...

    JavaWeb高级(SH)

    - **多对多关联**:表示两个表(或类)之间可以互相包含对方多个实例的复杂关联形式。在数据库中通常通过中间表实现;在Java中可以通过双向的集合类型来表示。 #### 实验环境准备 - 每位学生需要配备一台标准配置...

    实验数据库

    4. 数据复制:为了进行多轮实验或并发测试,数据库可能会被复制多个副本,每份副本保持独立,避免互相干扰。 5. 数据分区:对于大型实验,数据可能被分割成小块,便于分布式处理或并行测试。 6. 数据库设计:实验...

    帆软认证BI工程师(FCBA)-部分题库

    维度表和明细表建立好1:N的关联关系之后,前端分析用汇总表拉取维度表的省份字段,明细表的销售金额字段,那么汇总表格会统计出北京、江苏、广东每个地区的销售金额。 - **解析:** 在1:N关联关系下,即使明细表中不...

    弹出窗口互相传值范例

    4. **HiddenField**:在父窗口中创建一个隐藏字段,设置其值,然后在新窗口中通过JavaScript读取这个字段的值。 5. **JavaScript/jQuery**:使用JavaScript或jQuery,可以通过`window.opener`属性访问父窗口的对象...

    hibernate实例(一对多,多对一)

    这种关系通常用于当两个表中的记录互相唯一引用时,例如,一个人只有一个护照,而护照也只属于一个人。在Hibernate中,我们可以通过在映射文件或注解中定义`@OneToOne`来实现这种关系。关联可以是单向或双向的,且...

    SQL数据库性能优化

    例如,在同时更新两个关联表时,如果第一个表更新成功但第二个表由于某种原因未成功更新,则可能导致数据不一致。 1. **事务的优点**: - **一致性**:保证数据库状态的一致性。 - **隔离性**:事务间互相独立,...

    数据库设计模式.pdf

    这种模式通过中间表来连接两个表,使得一条记录在一方可以对应多条记录在另一方。适用于两个对象互相有多个关联的情况。 5. **继承模式**: 继承模式是主从模式的特殊形式,它在从表的主键中包含了主表的主键,...

    电影院售票系统,希望大家互相学习

    2. **数据库设计**:创建各表结构,如电影表、场次表、座位表、用户表、订单表等,并设置合适的关联关系。 3. **接口设计**:定义API接口,包括HTTP请求方法、URL、请求参数及响应格式。 4. **前端开发**:使用...

    数据库应用期末复习资料(中央.pdf

    主码标识一个表的唯一记录,而外码用于关联不同表之间的记录。 6. ACCESS数据库文件中至少包含一个表对象,但通常还包括查询、窗体、报表、宏和模块等多种对象。 7. 主键的叙述中,正确的选项是B:一个表中的主键...

    SQL(2).zip_Sql面试题

    - 视图:虚拟表,基于一个或多个表的查询结果。 - 存储过程:预编译的SQL语句集合,可以接受参数,执行多次。 6. 事务(Transaction)和并发控制: - 事务:一组操作,要么全部成功,要么全部回滚。 - 死锁:两...

    面向知识图谱应用的图数据库系统介绍.pptx

    实体的属性和实体间关系都需要被定义,并且不同数据集直接互相链接构成海量的关联数据。 三、gStore:基于图的知识图谱数据管理系统 gStore是一个基于图的知识图谱数据管理系统,能够高效地存储和查询大量的知识...

    2021-2022计算机二级等级考试试题及答案No.1965.docx

    这种联系使得一个表中的数据可以与另一个表中的数据相连接,从而实现数据间的关联查询。 - **父表与子表**:通常情况下,在关系型数据库中,并没有严格的“父表”与“子表”的概念。但是,当我们谈论表之间的关联时...

    数据库应用期末复习资料(中央收集.pdf

    5. 表之间的联系通常是通过定义的主码和外码实现的,外码是引用另一个表的主码,用以建立和维持两个表之间的关联,选项D(外码)正确。 6. ACCESS数据库中的基本对象包括表、查询、窗体、报表、宏和模块,但至少...

    oracle酒店管理系统样本.doc

    16. ROLEPER 角色-权限关联表(角色权限编号,角色编号,权限编号)。 17. PERMISSIONGROUP 权限组表(权限组编号,权限组名称)。 数据库设计 数据库概念模型: 1. 客房管理系统某些数据字典。 2. 数据库物理...

    2022年自考数据库系统原理复习资料.doc

    层次模型用树型构造表达实体及实体间联络的数据模型,网状模型用有向图构造表达实体及实体间联络的数据模型,关系模型是由若干个关系模式构成的集合。 关系模型 关系模型是由若干个关系模式构成的集合。关系模式即...

    2021-2022计算机二级等级考试试题及答案No.11994.docx

    不能在一个类的两个构造方法中使用this互相调用: 正确。 #### 18. 部门与职员间的关系 - **知识点**: 实体之间的多对一关系。 - **解释**: 一个部门可以有多个职员,而每个职员只能属于一个部门。 - **选项分析**:...

    Access数据库程序设计试题大全.doc

    3. 一个完整的数据库文件至少包含一个表对象。但通常还包括其他对象如查询、窗体、报表和宏等。 4. 不同的数据类型有不同的处理方式,例如文本型和数字型可以建立索引,而备注型和OLE对象通常不能建立索引,因为...

    B卷计算机类专业试题.pdf

    7. 表间关系的建立:通过在多个表中设置相同字段来建立关系,通常是主键和外键的概念。 8. 身份证号字段的掩码:身份证号通常设置为9位数字加X的格式,因此最接近的掩码是999999999X。 9. 存储多媒体信息的字段...

Global site tag (gtag.js) - Google Analytics