700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Mysql多表关联查询

Mysql多表关联查询

时间:2020-11-22 06:40:03

相关推荐

Mysql多表关联查询

​​​​​三表(replay_case、replay_task及general_flow)联合查询,注意select时,如果某个字段在不同的表中有重复的话需要指定具体的表,比如应该使用:select replay_task.start_time from xxx,而不是select start_time from xxx,因为start_time在replay_task与general_flow两张表中同时存在。

select replay_case.case_name,replay_case.flow_id,replay_task.case_id,general_flow.flow_name,general_flow.flow_env,general_flow.type,general_flow.ku_ids,replay_task.start_time,replay_task.end_time from replay_case left join replay_task on replay_case.id=replay_task.case_id left join general_flow on general_flow.id=replay_case.flow_id;

如果不指定具体的表名,会报错:"Column 'start_time' in field list is ambiguous"。

另一方面,需要注意:left join(左连接)与right join(右连接)的区别。

select replay_case.case_name,replay_case.flow_id,replay_task.case_id,general_flow.flow_name,general_flow.flow_env,general_flow.flow_env_type,general_flow.type,general_flow.file_url,general_flow.ku_ids,general_flow.start_time,general_flow.end_time from replay_case left join replay_task on replay_case.id=replay_task.case_id right join general_flow on general_flow.id=replay_case.flow_id;

联表查询可以增加where条件,如下:

select replay_case.flow_id from replay_case left join replay_task on replay_case.id=replay_task.case_id where replay_task.case_id=1;

参考:mysql查询语句和多表关联查询以及子查询

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。