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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了已经建立了两个表,请问如何用SQL语句建立关联?相关的知识,希望对你有一定的参考价值。

以下对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
参考技术A 很简单,几乎对所有的数据库,都是
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.字段名就是了。本回答被提问者采纳

SQL数据库中表与表之间的关联怎么建立

表间的操作或者sql语句

1、在数据库窗口中,单击“创建”中“表格”中的“表设计”,打开表设计窗口。

2、按照需要设计表“1”的表结构,完成后关闭表设计, 命名表1为“1”按需求确定字段大小以及是否允许空填。

3、重复上述操作,建立表“2”。

4、单击“数据库工具”选项卡中“关系”中的“关系按钮”,打开“显示表对话框”。

5、在显示的两个表中,将“2”中的“数据”拖到“1”中数据字段上,在弹出的编辑关系对话框中单击创建。建立关系完成,关闭“关系”窗口即可。

参考技术A 表与表之间是通过主外键链接的
可以通过‘数据库关系图’进行链接
将要连接的表选中,然后用鼠标拖动

例如
定义表Student、Course和SC之间的关系图。
要求:先要定义好三个表的主键SNO、CNO、(SNO,CNO)
(1) 展开数据库“学生管理”节点,在“数据库关系图”上击右键,选择“新建数据库关系图”命令,弹出新建数据库关系图向导,选择要添加到关系图中的表Student、Course和SC,这三个表将出现在新关系图窗口中。每个表显示包含的属性和定义的主键,拖动标题栏可以改变它们在窗口中的位置。
(2) 将Student表的属性SNO拖动到SC表的SNO上,松开鼠标弹出“创建关系”窗口,设置后单击“确定”按钮。在Student表和SC表之间会自动出现一条连线,说明创建关系成功。同样的方法可以创建Course表和SC表之间的关系。
(3) 单击关闭按钮保存。
(4) 试着修改或删除Student、Course和SC表中的数据,看看定义关系后有何作用。
参考技术B 1/, 最常用的一种: 减少重复数据.表A中拥有外键,表B的数据基本是不允许删除的.这时选择对 INSERT 和 UPDATE 强制关系即可.
2/,其次,是增加一个从属表. 如果表A删除一条记录时,表B中也随着删除一条相关联的记录,那么外键关系中,表A的主键是表B的外键。这种关系,实际上表B是表A的从属表(即表A是父表),选择对 INSERT 和 UPDATE 强制关系时,如果向表B中插入数据,表A中必须已经存在对应的记录。选择级联删除相关的字段时,删除表A中的一条记录,就会删除对应的表B中的一条记录。本回答被提问者采纳
参考技术C 表与表之间的关联是在查询或者是其它SQL语句中才用到的。 参考技术D 1. 外键 ?

2. select a.* ,b.* from a inner join b on a.id = b.id ?

3. left outer join ?

以上是关于已经建立了两个表,请问如何用SQL语句建立关联?的主要内容,如果未能解决你的问题,请参考以下文章

如何用SQL语句删除两个表中相同的记录?

如何用一条SQL语句对比两个表的数据是不是一致

在SQL中,如何用ALTER命令删除表中所有完整性约束,然后再用ALTER命令建立

如何用SQL语句的查询实现两个表之间的查询连接

SQL数据库中表与表之间的关联怎么建立

请问:如何用sql语句来查询有多少学生选修课呢?