SQL 自连接的问题

select s.sno'学号',sname'姓名'
from sc as sc1,sc as sc2,s
where s.sno=sc1.sno and s.sno=sc2.sno and sc1.cno='c1' and sc2.cno='c2'
我想问的是where后面的”s.sno=sc1.sno and s.sno=sc2.sno “
写成s.sno=sc1.sno可以,是不是写成s.sno=sc1.sno也可以,是不是sno的点前面的内容无影响

个人建议你看下 join 的用法,
select s.sno as '学号',s.name as '姓名'
from s s,
inner join sc sc1 on s.sno=sc1.sno and sc1.cno='c1'
inner join sc sc2 on s.sno=sc2.sno and sc2.cno='c2'
这样写个人觉得直观,看着也蛮清晰!希望能够帮助到你!
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-10
当然是不一样的。

s.sno=sc1.sno and sc1.cno='c1' : 表示 用s 与 sc 进行关联, 取得 sc.cno = 'c1' 的相关信息

s.sno=sc2.sno and sc2.cno='c2' : 表示 用s 与 sc 进行关联, 取得 sc.cno = 'c2' 的相关信息;
取的是另一部分(不同行)的信息。
第2个回答  2012-11-12
写成s.sno=sc1.sno可以,是不是写成s.sno=sc1.sno也可以
s.sno=sc1.sno
s.sno=sc1.sno
这两个有区别吗 我怎么没看出来不同的地方

嗯 不懂你问的啥,是要问sno点前面的名称吗,那肯定是有影响的。如果你不指定,它知道是哪个。
点前面的名称也就是起个指定的作用
第3个回答  2012-11-12
这个语句没有影响的,因为他们的表是同一个!

如何理解SQL中的自连接?
在SQL中,自连接是一种强大的工具,尤其在处理数据的连续性和去重问题时。简单来说,自连接就是将一个表与它自身进行关联,通过重命名区分不同的实例。理解自连接的关键在于,它将两个结构和数据完全相同的表进行操作,通过关联每个表中的记录,形成类似数学排列的结果。以表Student为例,无条件的自连接...

SQL进阶技巧——自连接的用法全解!
1. 排列与组合例如,通过自连接,我们可以从商品表中生成所有商品的有序对,包括所有可能的排列组合。但需要注意区分有序对(如“苹果,橘子”)和无序对(如{苹果,橘子}),并理解自连接如何处理顺序和重复元素。2. 删除重复行对于无主键的重复行,自连接与关联子查询结合,能有效地识别和去除重复数...

SQL专题(十六)自连接
在 SQL 专题(十六)中,自连接是一个重要概念,它涉及将一个表与自身进行连接,以便在查询中分析和比较数据。自连接并非简单的笛卡尔积,而是通过非等值连接来实现,尤其在需要排列组合或查找局部不一致的场景中大显身手。自连接经常与非等值连接结合使用,例如在删除重复行时,尽管关联子查询与连接操作不...

数据库中关于自然连接的一个小问题
R×S≡{t|t=∧t∈R∧t∈S} SQL 语句表达就是:SELECT R.A,R.B,R.C,S.D FROM R,S WHERE R.B = S.B AND R.C=S.C 明白这个就不难了吧 上面的第一步是取得所有的组合可能,一共是3*3=9种组合 第二步:S和R的公共属性是B 和 C 从这九种组合中筛选出R。B=S。B的组元 ...

SQL的查询语句中有一个“自连接查询”怎么理解?
的学生姓名,这时就可以使用自连接查询:select 【学生姓名】from 【成绩表】 AS a,【成绩表】 AS b where a.【主键ID】=b.【主键ID】and a.【成绩】>=b.【成绩】and a.【课程名称】='语文'and b.【课程名称】='数学'自连接是指使用表的别名实现表与其自身连接的查询方法。

SQL数据库中的一个自连接小问题
a 是表名,代码如下:select a2.name,a2.zhiwu from a as a1,a as a2 where a2.bumen=a1.bumen and a1.name='员工名字'这个一定没问题的。。 呵呵

SQL 自连接的问题
个人建议你看下 join 的用法,select s.sno as '学号',s.name as '姓名'from s s,inner join sc sc1 on s.sno=sc1.sno and sc1.cno='c1'inner join sc sc2 on s.sno=sc2.sno and sc2.cno='c2'这样写个人觉得直观,看着也蛮清晰!希望能够帮助到你!

自连接的介绍
在SQL查询中,自连接(self join)是一种常见的数据连接方法。它巧妙地将表自身视为另一个表,通过这种技术,我们可以对表内的数据进行深层次的分析,挖掘出那些通过普通连接无法获取的特定信息。自连接允许我们在查询中比较和组合同一张表的不同记录,这对于处理需要对自身数据进行比较或关联分析的场景尤其...

sql自连接查询问题
如表数据是这样的:kind departNo 1 001 1 002 那查询的结果就是 c1.kind c1.departNo c2.kind c2.departNo 1 001 1 002 这样就比较清楚了吧,其实更加正规的写法,应该是 inner join 代替 join

sql语言怎么把三个表自然连接在一起?
把三个表自然连接在一起的方法如下: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 可以省略...

相似回答
大家正在搜