MYSQL 数据库2张表关联查询问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL 数据库2张表关联查询问题相关的知识,希望对你有一定的参考价值。

有2张表

表1有catid title 字段
表2有title content time 字段
我想查询当表1 catid=7,符合表1 表2 title 的关联所有内容 并且删除
谢谢
举个例子
catid=资讯
那么符合资讯栏目对应的title 2个表对应的其他内容均要删除

参考技术A 关联在Oracle数据查询时会经常用到,灵活的应用关联可以解决很多实际应用的问题.下面给出一些示例:

建表

create table ab

(

ab_id number(5),

ab_name varchar2(30)

);

create table bb

(

bb_id number(5),

bb_name varchar2(30)

);

插入数据

insert into ab(ab_id,ab_name) values(1,'1ab_name');

insert into ab(ab_id,ab_name) values(2,'2ab_name');

insert into ab(ab_id,ab_name) values(3,'3ab_name');

insert into bb(bb_id,bb_name) values(1,'1bb_name');

insert into bb(bb_id,bb_name) values(2,'2bb_name');

insert into bb(bb_id,bb_name) values(4,'4bb_name');

insert into bb(bb_id,bb_name) values(6,'6bb_name');
等值关联(全关联)
select a.ab_id,a.ab_name,b.bb_name from ab a,

bb b

where a.ab_id=b.bb_id;
返回结果
AB_ID AB_NAME BB_NAME

1 1ab_name 1bb_name

2 2ab_name 2bb_name

返回两个表中所有能匹配的记录,不能匹配的记录不返回。
左关联
select ab_id,ab_name, bb_name

from ab a left join bb b

on a.ab_id=b.bb_id;



select ab_id,ab_name, bb_name

from ab a , bb b

where a.ab_id=b.bb_id(+);
返回结果
AB_ID AB_NAME BB_NAME

1 1ab_name 1bb_name

2 2ab_name 2bb_name

3 3ab_name
返回左边表的左右记录,在右边表中没有对应记录的右表字段显示为空。
右关联
select ab_id,ab_name, bb_name

from ab a right join bb b

on a.ab_id=b.bb_id;



select ab_id,ab_name, bb_name

from ab a , bb b

where a.ab_id(+)=b.bb_id;
返回结果:
AB_ID AB_NAME BB_NAME

1 1ab_name 1bb_name

2 2ab_name 2bb_name

4bb_name

6bb_name
返回右边表中所有的记录,在右边表不能匹配的记录行上,左边表对应的字段显示为空。
完全外关联
select ab_id,ab_name, bb_name

from ab a full join bb b

on a.ab_id=b.bb_id;
返回结果
AB_ID AB_NAME BB_NAME

1 1ab_name 1bb_name

2 2ab_name 2bb_name

3 3ab_name

6bb_name

4bb_name本回答被提问者和网友采纳

急!!求MYSQL三表关联查询方法

三个表 A表有字段 tid,subject B表有字段 tid,attachment C表有字段 tid,message 三个表的tid字段内容相同。

请问怎么关联查询呢,可否提供实例,谢谢!
非常感谢高手们的热心帮助.问题已经解决

参考技术A select * from subject a join attachment b on a.tid=b.tid
join message c on b.tid=c.tid

或者

select * from subject a ,attachment b ,message c
where a.tid=b.tid and b.tid=c.tid本回答被提问者和网友采纳
参考技术B select *
from A, B, C
where A.tid=B.tid
and B.tid=C.tid
参考技术C 用子查处或是连接

以上是关于MYSQL 数据库2张表关联查询问题的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL三张表关联查询请教

我要关联查询两张表,但是相关联的字段的类型不一致,该怎么解决呢?两个数据库的字段如下:

MySQL中如何在关联表中查询出其中一个外键不存在的数据?

mysql中多表关联删除,怎样做?谢谢...

mysql怎么将两个表查询出来的结果再去关联下一张表?

mysql啥时候使用子查询,啥时候使用表连接查询,关系多张表的时候该怎么查询