A. sql 多对多表查询
9条
刚才说错了,第一问是9个,a和c笛卡尔了
第二9个,一样
sql就是第二问
B. sql 多表查询,数据表如下,
1.select学号,姓名fromTable_stustujoinTable_Scsconstu.no=sc.no
joinTable_Courseconc.number=sc.numberwhere课程名='JAVA'
2.select课程名fromTable_stustujoinTable_Scsconstu.no=sc.no
joinTable_Courseconc.number=sc.numberwhere姓名='依依'
3.select学号,姓名fromTable_stustujoinTable_Scsconstu.no=sc.no
joinTable_Courseconc.number=sc.numbergroupby学号,姓名
havingcount(学号)=5
4.selecttop5*fromTable_Sc
5.selecttop5*fromTable_ScwhereNOnotin
(selecttop5NOfromTable_Scorderbychenji)orderbychenji
6.selectname,class,max(chenji)fromTable_stustu
joinTable_Scsconstu.no=sc.no
joinTable_Courseconc.number=sc.number
groupbyname,class
7.selectgetdate()
没有测试,只是凭你的问题和图片写出。可能你需要修改。
C. SQL多表查询语句怎么写
SQL多表查询语句的步骤如下:
我们需要准备的材料分别是:电脑、sql查询器。
1、首先,打开sql查询器,连接上相应的数据库表,例如m1表和m2表。
D. SQL如何实现多表查询
大体上的方法有两种
(1)联合查询
select dbo.vipcard.cardno,........,dbo.viptype.typename as cardtype from dbo.vipcard inner join dbo.viptype on dbo.vipcard.cardtype=dbo.viptype.ctypeid
(2)子查询
select dbo.vipcard.cardno,........,(select typename from viptype where dbo.vipcard.cardtype=dbo.viptype.ctypeid) as cardtype from dbo.vipcard
E. sql如何多表查询语句
其实多表查询,用到的关键字,就是像inner join,left join,right join 之类的,根据具本情况,选择自已适合的连接语句。
举个例子吧
select a.studnt_sno,b.sno,c.grade from studnt as a inner join depart as b on a.sno=b.sno left join sc as c on b.cno=c.no
F. sql 多表联查询
可以用谓词或联结实现:
连接实现:
select * from b join a on b.id=a.id where a.b=21
联结实现的条件是两表id来自同一值域,表示意义相同.在连接时其实两可以作成一个表的:
也就是
id,a.b,a.c,b.b.b.c
但由于空值的问题,导致了部分依赖所以才会拆分成两个表的.
使用谓词实现:
select * from b where id in (select id from a where a.b=21)
这个可以实现两表id来自同一值域,但表示意义不同的情况.也就是说两表中的id有无关性.
相比较而言,连接的方式更快一些,但这种情况是两表来自同一值域,且意义相同,如果不是这种情况,可能得不到你正确的值的.而使用谓词不管意义是否相同,都可以得到正确的值.
玩数据库必须知道这两个表是否具有相关性,也就是设计时的意义,否则优化词句什么的都没有办法去做的!
G. 在SQL中如何进行多表查询
要想多表查询,是有条件的。一般是几张表结构相似或者是有一样的ID号关联。例如:
select * from 表1,表2,表3 这是把3张表结果全部查出来
select * from 表1 where not exists(select 0 from 表2 where
表1.id=表2.id)
H. SQL 多表查询、统计
select ISNULL(a.id,b.id) as memberid,ISNULL(a.a1,0) as albumcount,ISNULL(b.a1,0) as lOGcount from (
select m.id,COUNT(1) as a1
from member m inner join album a on a.id=m.id group by m.id)a
full join
(select m.id,COUNT(1) as a1
from member m inner join [lOG] a on a.id=m.id group by m.id) b
on a.id=b.id
I. SQL 多表查询
select user.* from user,Cargo
where user.db_company_name= Cargo.db_company_name
union all
select user.* from user,TC_Cargo
where user.db_company_name=TC_Cargo.db_company_name;
J. Sql多表查询,怎么做
根据你的查询结果要求,可以根据一下几个步骤确定多表查询语句的写法:
1、要显示所有学生信息、班级、年级等信息,则需以主表1为主记录,其他表通过外连接的方式进行关联;
2、LEFT JOIN 关键字会从左表那里返回所有的行,即使在右表中没有匹配的行,确定主表之后,其他关联表使用LEFT JOIN;
3、拼接SQL语句,需要确定关联字段主表1与表2的关联为主表1.studentid=表2.studentid,
主表1与表3的关联为主表1.gradId=表3.gradId,主表1与表4的关联为主表1.classId=表4.classId
4、具体语句为:
SELECT 表1.ID, 表2.STUDENTNAME,表3.GRADNAME,表4.CLASSNAME
FROM 表1
LEFT JOIN 表2 ON 表1.STUDENTID = 表2.STUDENTID
LEFT JOIN 表3 ON 表1.GRADID = 表3.GRADID
LEFT JOIN 表4 ON 表1.CLASSID= 表4.CLASSID