已经建立了两个表,请问如何用SQL语句建立关联?
已经有两张表格,student和score,现在要建立student表中sno字段和score表中sno字段之间的关系,请问SQL语句要怎么写?我菜鸟,能解释下a和b是什...
已经有两张表格,student和score,现在要建立student表中sno字段和score表中sno字段之间的关系,请问SQL语句要怎么写?
我菜鸟,能解释下a和b是什么吗? 展开
我菜鸟,能解释下a和b是什么吗? 展开
5个回答
展开全部
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
以下对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
自然连接(列名相同,只选相同列名下两边值相等的行):
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
也可以用select * from student a inner join score b on a.sno=b.sno
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询