已经建立了两个表,请问如何用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
用关联语句.

SQL语句中两个表的连接
1、打开数据库管理工具,在数据库中新建两个表用于测试,这里,两个表的表结构要一样,分别建立TEST 和 TEST1。2、开启新的SQL查询窗口,创建一个存储过程。意思是将insert到TEST中的数据插入到TEST1中。3、单击‘执行’,一个名字为‘T’的触发就新建完成了。4、展开表结构,我们也能看见刚才新建的...

SQL语句如何把2个表的字段放一起
--调用的时候用join --on找到两张表的关联字段 --比如两张表都有人名,就是 from 第一张表 join 第二张表 on 第一张表.name = 第二张表.name --在你这道题目就应该是 on A.psebum = A.psenum --或者 on A.description = A.description on关键字是告诉系统,两个字段相同,然后建...

sql 怎么通过多个条件连接2张表
1、第一步,构建两个表,然后分别插入数据,如下图所示,然后进入下一步。2、其次, LEFT JOIN:左联接。 即使右表中没有匹配项,所有行也会从左表中返回。 如果右表不匹配,则将其填充为空,如下图所示,然后进入下一步。3、接着, RIGHT JOIN:右联接,即使左表中没有匹配项,所有行也...

两表关联查询SQL语句的,要怎么写?
1、创建测试表;create table company(companyId number, companyName varchar2(20), contacts varchar2(20));create table users(userId number, companyId number, userName varchar2(20), userAge number, address varchar2(20));2、插入测试数据;insert into company values (1,'腾讯科技','马...

请问sqlserver中的两个表怎么进行关联
可以选择触发器或存储过程。如果两个表字段相同可以用触发器:CREATE TRIGGER trigger_AToB on A INSTEAD OF INSERT AS BEGIN INSERT INTO A(a,b,c) SELECT a,b,c FROM inserted INSERT INTO B(a,b,c) SELECT a,b,c FROM inserted END GO INSERT INTO a(a,b,c)VALUES('aaa','aaa','...

MySQL教程如何使用两个表联合添加数据mysql两表联合添加
使用JOIN操作将数据添加到两个表中 一旦我们创建好了这两个表,就可以开始使用JOIN操作来添加数据了。假设我们想添加一个新的person记录和一个新的address记录,同时指定它们之间的关联。我们可以使用下面的SQL语句完成上述操作:INSERT INTO person (id, name)VALUES (1, ‘Alice’);INSERT ...

SQL数据库里怎么让两个表想关联(数据库两个表如何关联)
有多种方法:1<左联:select列名fromGradeleftjoinClassonGrade.GradeID=Class.GradeID 2<右联:也是一样,只是left改为right 3<平级查询:select列名fromGrade,ClasswhereGrade.GradeID=Class.GradeID 当然,可能还有别的方法,有这些基本就行了 ...

sql sever将两个表合起来语法
一、外连接1.左连接 left join 或 left outer joinSQL语句:select * from student left join score on student.Num=score.Stu_id;2.右连接 right join 或 right outer joinSQL语句:select * from student right join score on student.Num=score.Stu_id;3.完全外连接 full join 或 full...

MySQL中如何实现表的连接mysql中俩表连接
例如,我们有两个表,一个是学生表(student),另一个是家庭表(family),现在需要查询学生姓名和对应的家庭住址。可以使用以下SQL语句实现左连接:SELECT student.name, family.address FROM student LEFT JOIN family ON student.id=family.id;其中,student和family是我们需要连接的两个表,name和...

两张表在不同的数据库,如何关联查询?
mysql支持多个库中不同表的关联查询,你可以随便链接一个数据库 然后,sql语句为:select * from db1.table1 left join db2.table2 on db1.table1.id = db2.table2.id 只要用数据库名加上"."就能调用相应数据库的数据表了.数据库名.表名 ...

相似回答