我开始学习SQL,但我遇到了一些问题.
我有一个包含4个表的数据库.
所有4个表都有列ID.
像这样的东西:
Table name................Column #1..................Column #2
Table1.................... ID......................Data1..
Table2......................ID......................Data2..
Table3......................ID......................Data3..
Table4......................ID......................Data4..
Run Code Online (Sandbox Code Playgroud)
我按ID选择.
SELECT Data1, Data2, Data3, Data4 FROM TABLE1
INNER JOIN TABLE2 ON TABLE1.ID = TABLE2.ID
INNER JOIN TABLE3 ON TABLE1.ID = TABLE3.ID
INNER JOIN TABLE4 ON TABLE1.ID = TABLE4.ID
WHERE TABLE.ID=' X '
Run Code Online (Sandbox Code Playgroud)
如何通过ID删除和更新此4个表中的列?有人能帮助我吗?我是初学者.
在标准SQL中,您可以一次从多个表中进行SELECT,但不能一次DELETE或UPDATE多个表.因此,您将使用如下命令:
UPDATE Table1 SET Column = NewData WHERE...
和
从Table1删除WHERE...
例外情况是,如果表"正式"相互关联,通过使用PRIMARY和FOREIGN KEYS,您可以将链接列的UPDATE和行的DELETE"流"到链接表中.为此,在声明密钥时使用SQL的CASCADE选项.
一些供应商提供了进一步的非标准扩展,允许您从多个表中更新或删除,但对于那些您必须指定您正在使用的数据库.