sqlserver 内连接 左右连接 自动连接

本文深入探讨了SQL Server中内连接、左连接和右连接的概念与用法,详细解释了各种连接在数据库查询中的应用,帮助读者理解如何根据需求选择合适的连接类型进行数据检索。
摘要由CSDN通过智能技术生成
use srs
--笛卡尔积查询

select * from t,tc

--【例4-21】  从数据表 T,TC 中查询教师“赵乾”所讲授的课程,列出其教师号和所授的课程编号。
select t.TNo ,CNo
from t,tc
where t.TNo=tc.TNo and tn='赵乾'

-- 内连接查询指使用 INNER JOIN 关键字的查询。以实现例4-21同样功能为例
select t.tno,cno
from t inner join tc
on t.tno=tc.tno
where tn='赵乾'  --T.TNo=TC.Tno 为连接条件,Tno 为连接字段


--从数据表 C,SC 中查询每门课程的课程编号、课程名称及选课人数。


select * 
from sc,s

--select s.SNo,dept,COUNT(s.SNo) as num
--from s,sc
--group by s.SNo,dept

SELECT C.CNo,CN,COUNT(SC.SNo) AS Num
FROM C,SC
WHERE SC.CNo=C.CNo
GROUP BY C.CNo,CN


--1、查询学号为“11001”的同学的学号、姓名、选修课的课程号及成绩。
select distinct s.SNo,sn,sc.CNo,grade
from s , sc
where s.sno='11001'and s.sno=sc.SNo


select distinct s.SNo,sn,sc.CNo,grade
from s inner join sc
on s.sno=sc.sno 
where s.sno='11001'

--2、查询学号为“11001”的同学的学号、姓名、选修课的课程名及成绩。

/*  select distinct s.SNo,sn,sc.CNo,grade
from s inner join sc
on s.sno=sc.sno
where s.sno='11001
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值