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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)