数据库三表连接查询怎么做

Posted

tags:

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

有三个表 a b c
c.aid对应a.aid
c.bid对应b.bid
现在要查出a.aname,b.bname,c.value怎么写sql语句?

1、打开access软件,新建一个数据库,在数据库中新建三个表,分别为订单表,商品表,商品联系表.其中商品联系表的字段名分别为商品编号,进货厂家,ID,厂家联系方式,厂家售货员,商品收货员。

2、打开订单表,单击设计选项卡,点击视图,在出现的下拉菜单中选择设计视图,在订单表的设计视图界面,可以看到默认的主键为ID,这时点击视图旁的主键按钮,ID前的主键标志消失。

3、选择创建选项卡,点击查询设计,出现显示表对话框.在对话框内选中订单表,商品表,商品联系表,然后单击添加,将这三个表添加到查询界面中来,接着在对话框内点击关闭。

4、分别将订单表的商品名,商品表的商品编号,商品联系表的商品收货员,订单表的订单数量,订单日期,利润用鼠标拖到下方的字段行来。

5、在主体部分左边,点击表旁的三角按钮,在下拉菜单中选中查询.点击商品利润查询,会出现输入参数值对话框,在对话框内输入20170008,点确定.会看到查询结果。

参考技术A

1、创建三张测试表;

create table test_a(aid int,aname varchar(20));

create table test_b(bid int,bname varchar(20));

create table test_c(aid int, bid int,value varchar(20));

2、三张表中分别插入数据;

insert into test_a values(1, 'aname1');

insert into test_b values(2, 'bname1');

insert into test_c values(1, 2, 'cvalue');

3、查询表中记录;

select 10, a.* from test_a a

union all

select 20, b.* from test_b b

union all

select * from test_c c;

4、编写sql,进行三表关联;

select a.aname,b.bname,c.value 

  from test_c c join test_a a 

  on c.aid = a.aid

  join test_b b 

  on c.bid = b.bid

参考技术B select a.aname,b.bname,c.value
from c
inner join a
on c.aid=a.aid
inner join b
on c.bid=b.bid本回答被提问者和网友采纳
参考技术C 有个简单的写法 select a.aname, b.bname c.value from a,b,c where a.aid = c.cid and c.bid = b.bid

以上是关于数据库三表连接查询怎么做的主要内容,如果未能解决你的问题,请参考以下文章

MySQL多表查询 三表查询 连接查询的套路

查询无重合三表连接

mysql三表联合查询

sql多表链接之三表连接查询

MySql的join(连接)查询 (三表 left join 写法)

sql多表连接查询问题