mybatis三表联合查询
时间: 2023-09-23 16:08:15 浏览: 108
mybatis联合查询
在MyBatis中进行三表联合查询可以通过创建视图或使用多表连接来实现。
一种方法是创建一个视图,将所需的表连接起来。例如,在创建一个名为doctor_work_duty的视图时,可以使用以下SQL语句:
```sql
create view doctor_work_duty as
(select * from hospital.doctor t1
inner join hospital.work t2 on t1.doc_work_id = t2.w_id
inner join hospital.duty t3 on t1.doc_duty = t3.d_id);
```
这样就可以在查询中使用这个视图来获取所需的数据。
另一种方法是使用多表连接语句来达到三表联合查询的目的。例如,可以使用以下SQL语句来实现用户和权限的联合查询:
```sql
select u.username,u.`password`,a.authorityName
from user u,authority a,user_relation ur
where u.userId=ur.userId and a.authorityId=ur.authorityId;
```
这将返回一个包含用户和权限信息的结果集。
在这种情况下,表设计通常包括用户表(User)、用户关系表(UserRelation)、用户权限表(Authority)和用户信息表(UserInfo)。每个表都有其特定的列和关系,可以根据需求进行设计和使用。
总结起来,MyBatis中进行三表联合查询可以通过创建视图或使用多表连接来实现。视图可以将多个表连接在一起,并在查询中使用该视图。多表连接可以在查询语句中直接进行表之间的连接操作。具体使用哪种方法取决于实际需求和数据结构的设计。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [Mybatis三表连接查询](https://blog.csdn.net/m0_56750901/article/details/123899956)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [Mybatis的多表查询使用](https://blog.csdn.net/weixin_45309354/article/details/123233534)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文