sql | 一张表有【两个外键】

现在有三张表:如图,
sql | 一张表有【两个外键】_第1张图片


要求1:现在要通过repair_id查询出worker两张表中的信息:


连接:

select * from repair t1,client_info t2
        where t1.client_id = t2.client_id and t1.client_id="1"

sql | 一张表有【两个外键】_第2张图片

外连接:left outer join(保留repair原表,注入client)

select * from repair t1
        left outer join client_info t2
        on t1.client_id = t2.client_id and t1.client_id="1"

sql | 一张表有【两个外键】_第3张图片


要求2:现在要通过repair_id查询出workerclient三张表中的信息:


内连接:inner join

select * from 父表 t1
        inner join 子表1 t2
        on t1.外键1_id = t2.外键1_id 
				inner join 子表2  t3
				on t1.外键2_id=t3.外键_id

内连接:(保留repair原表,注入client和worker)

select * from repair t1
        inner join client_info t2
        on t1.client_id = t2.client_id 
				inner join worker_info t3
				on t1.worker_id=t3.worker_id

sql | 一张表有【两个外键】_第4张图片
大功告成!

你可能感兴趣的:(数据库,Java前后端开发学习)