已经建立了两个表,请问如何用SQL语句建立关联?

已经有两张表格,student和score,现在要建立student表中sno字段和score表中sno字段之间的关系,请问SQL语句要怎么写?
我菜鸟,能解释下a和b是什么吗?

很简单,几乎对所有的数据库,都是 WHERE a.sno = b.sno,其中,a 和 b 是两张表的别名。

即,SELECT * FROM student a, score b WHERE a.sno = b.sno

a 和 b 我不是说了吗,是两张表的别名,纯粹是方便而用的,你可以写成其他的,比如 t1,t2,随便你,不过在 Select 字段时,要把 a.字段名 改成 t1.字段名,b.字段名改成 t2.字段名就是了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-29

    SQL 关键字 inner join

    假如定义A 表,2个字段(a,b)

    定义B 表 ,2个字段(b,c)

    SQL 如下:

    select a.a,a.b,b.c  from  A as a inner join B as b

    ON a.b=b.b

第2个回答  2009-03-17
以下对ORACLE,SQL SERVER等都适用:

自然连接(列名相同,只选相同列名下两边值相等的行):
SELECT * FROM STUDENT A NATURAL JOIN SCORE B

内连接(列名不一定相同,只选满足ON条件的行):
SELECT * FROM STUDENT A INNER JOIN SCORE B ON A.SNO = B.SNO

左外连接(列名不一定相同,只选满足ON条件的行和左表的全部,右表填充空值):
SELECT * FROM STUDENT A LEFT OUTER JOIN SCORE B ON A.SNO = B.SNO

右外连接(列名不一定相同,只选满足ON条件的行和右表的全部,左表填充空值):
SELECT * FROM STUDENT A RIGHT OUTER JOIN SCORE B ON A.SNO = B.SNO

全外连接(列名不一定相同,只选满足ON条件的行和两边表的全部,无匹配的全部填充空值)
SELECT * FROM STUDENT A FULL OUTER JOIN SCORE B ON A.SNO = B.SNO

全连接(笛卡尔积,所有行和所有行交叉组合形成新表)
SELECT * FROM STUDENT A CROSS JOIN SCORE B
第3个回答  2009-03-16
也可以用select * from student a inner join score b on a.sno=b.sno
第4个回答  2009-03-19
用关联语句.
相似回答