多表查询信息

简介: ## 多表信息查询 ##多表的信息的查询涉及到第三方表的构建,一般来说会把两个目标表的主键作为这个第三方表的联合外键进行设置,并添加外约束。现如果想进行多表查询如查询教师编号为XX的所有的学生的信息,就可以使用该操作的前提是数据库中已经按照规则设计好了数据库表。

## 多表信息查询 ##


多表的信息的查询涉及到第三方表的构建,一般来说会把两个目标表的主键作为这个第三方表的联合外键进行设置,并添加外约束。现如果想进行多表查询如查询教师编号为XX的所有的学生的信息,就可以使用

该操作的前提是数据库中已经按照规则设计好了数据库表。

"select s.* from teacher_student ts , student s where ts.teacher_id =? and ts.student_id = s.id"

细节描述:

这句SQL语句的含义如下:

  • 先是select * from teacher_student where teacher_id =?
  • 然后给teacher_student取个别名,方便后续的操作,即select * from teacher_student ts where ts.teacher_id = ?
  • 再就是怎么将两个表联系起来的实现,即select * from teacher_student ts ,student s where ts.teacher_id = ?
  • 这样仍然是不够的,要想取出学生数据还应还进一步约束,即select * from teacher_student ts ,student s where ts.teacher_id = ? and ts.student_id = s.id
  • 这样就结束了吗?不,上面那个sql语句获得的是两个表的联合结果,要想获得学生信息,还应该进一步的对sql语句进行优化。即select s.* from teacher_student ts,student s where ts.teacher_id = ? and ts.student_id = s.id,好了这样就大功告成了。

至此,便可以简单的从多对多的数据库表中实现多表信息查询的功能。

目录
相关文章
queryDsl多表联合查询,任意查询联合字段
这是我的通用方法 package com.spark.bitrade.service.Base; import com.querydsl.core.Tuple; import com.
4203 0
|
3月前
|
SQL 关系型数据库 MySQL
MySQL数据库——多表查询(3)-自连接、联合查询、子查询
MySQL数据库——多表查询(3)-自连接、联合查询、子查询
51 1
|
3月前
|
关系型数据库 MySQL 数据库
MySQL数据库——多表查询(4)-实例练习、多表查询总结
MySQL数据库——多表查询(4)-实例练习、多表查询总结
44 1
|
3月前
|
关系型数据库 MySQL 数据库
MySQL数据库——多表查询(1)-多表关系(一对多、多对对多、一对一)、多表查询概述(概念、笛卡尔积、分类)
MySQL数据库——多表查询(1)-多表关系(一对多、多对对多、一对一)、多表查询概述(概念、笛卡尔积、分类)
63 0
|
4月前
|
SQL 数据库
联合查询(多表查询)
联合查询(多表查询)
44 0
|
10月前
|
SQL 关系型数据库 MySQL
第6章_多表查询
第6章_多表查询
339 0
|
SQL
SQL两张表中有关联id,但是字段名不同查询
SQL两张表中有关联id,但是字段名不同查询
69 0
|
SQL Java 关系型数据库
第06章_多表查询(下)
第06章_多表查询(下)
83 0
第06章_多表查询(下)
|
关系型数据库 MySQL Python
MySql查询出两张表中不同的数据
MySql查询出两张表中不同的数据
127 0
|
Oracle 关系型数据库 MySQL
第06章_多表查询(上)
第06章_多表查询
105 0