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

数据库三表连接查询怎么做,第1张

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

第一种方法:select * from student,teacher,project where student.id=teacher.sid and student.id=project.sid

第二种:select * from student inner join teacher on student.id=teacher.sid inner join project on student.id=project.sid。

数据库概述:

1、DBMS(DataBaseManagementSystem,数据库管理系统)和数据库。平时谈到“数据库”可能有两种含义:MSSQLServer、Oracle等某种DBMS;存放一堆数据表的一个分类(Catalog)

2、数据库的构成-管理软件/服务/数据文件(表,视图...)

3、不同品牌的DBMS有自己的不同的特点:MYSQL、MSSQLServer、DB2、Oracle、Access、Sybase等。对于开发人员来讲,大同小异

4、SQL的全称是:Structured Query Language(结构化查询语言)SQL<>SQLServer<>MSSQLServer。最常见的错误。

5、除了Access、SQLServerCE等文件型数据库之外,大部分数据库都需要数据库服务器才能运行。学习\开发时是连接本机的数据库,上线运行时是数据库运行在单独的服务器。

select a.dwmc,a.wzmc,a.ggxh,a.jldw,a.mldj,a.sssl,b.srfs,b.srsl,gh=(select sum(fcsl) group by gh),fcsl=(select sum(srsl) group by srfs)

from clrk as a

left join clrkmx as b on a.dwmc=b.dwmc and a.ggxh=b.ggxh and wzmc=wzmc//要有主外键关系,尽量写主外键的

left join ffcl as c on a.wzmc=c.wzmc and a.ggxh=c.ggxh

where ?.cgrq=传条件//抓狂,这个字段,三个表里都没有啊,还是没标出来,标出来的话,问号就是那个表

select sum(srsl) group by srfs


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9242028.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存