可以参考下面的方法:
1、select * from 表1,表2,表3 where 表1.字段=表2.字段 and 表1.字段=表3.字段
2、select * from 表1 join 表2 on 表1.字段=表2.字段 and join 表3 on 表1.字段=表3.字段
如果没有AND,前面就需要加括号了。
扩展资料:
参考语句
创建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
根据已有的表创建新表:
1、create table tab_new like tab_old (使用旧表创建新表)
2、create table tab_new as select col1,col2… from tab_old definition only
删除新表
drop table tabname
参考资料来源:百度百科-SQL数据库
1、创建三张测试表;
createtabletest_a(aidint,anamevarchar(20))
createtabletest_b(bidint,bnamevarchar(20))
createtabletest_c(aidint,bidint,valuevarchar(20))
2、三张表中分别插入数据;
insertintotest_avalues(1,'aname1')
insertintotest_bvalues(2,'bname1')
insertintotest_cvalues(1,2,'cvalue')
3、查询表中记录;
select10,a.*fromtest_aa
unionall
select20,b.*fromtest_bb
unionall
select*fromtest_cc
4、编写sql,进行三表关联;
selecta.aname,b.bname,c.value
fromtest_ccjointest_aa
onc.aid=a.aid
jointest_bb
onc.bid=b.bid
把三个表自然连接在一起的方法如下:
1 有关联
select *
from a left join b on a.id=b.id
left join c on b.id=c.id
2 无关联
select id
from a
union all
select id
from b
union all
select id
from c
其中:
inner join 只显示符合条件的数据行,此为默认的join方式,inner 可以省略;
left join 显示符全条件的数据行及左边数据表中不符合条件的数据行;
right join 显示符全条件的数据行及右边数据表中不符合条件的数据行;
full join 显示符全条件的数据行及左边和右边数据表中不符合条件的数据行;
cross join 直接将一个数据表的每一条数据行和另一个数据表的每一条数据行搭配成新的数据 行,不要on 来设置条件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)