當前位置:首頁 » 編程語言 » sql表的關聯

sql表的關聯

發布時間: 2024-07-20 18:30:39

『壹』 SQL資料庫關聯是什麼怎麼用

使用外聯接
僅當至少有一個同屬於兩表的行符合聯接條件時,內聯接才返回行。內聯接消除與另一個表中的任何行不匹配的行。而外聯接會返回
FROM
子句中提到的至少一個表或視圖的所有行,只要這些行符合任何
WHERE

HAVING
搜索條件。將檢索通過左向外聯接引用的左表的所有行,以及通過右向外聯接引用的右表的所有行。完整外部聯接中兩個表的所有行都將返回。

Microsoft®
SQL
Server™
2000
對在
FROM
子句中指定的外聯接使用以下
SQL-92
關鍵字:

LEFT
OUTER
JOIN

LEFT
JOIN
RIGHT
OUTER
JOIN

RIGHT
JOIN
FULL
OUTER
JOIN

FULL
JOIN

SQL
Server
支持
SQL-92
外聯接語法,以及在
WHERE
子句中使用
*=

=*
運算符指定外聯接的舊式語法。由於
SQL-92
語法不容易產生歧義,而舊式
Transact-SQL
外聯接有時會產生歧義,因此建議使用
SQL-92
語法。
使用左向外聯接
假設在
city
列上聯接
authors
表和
publishers
表。結果只顯示在出版商所在城市居住的作者(本例中為
Abraham
Bennet

Cheryl
Carson)。

若要在結果中包括所有的作者,而不管出版商是否住在同一個城市,請使用
SQL-92
左向外聯接。下面是
Transact-SQL
左向外聯接的查詢和結果:
USE
pubs
SELECT
a.au_fname,
a.au_lname,
p.pub_name
FROM
authors
a
LEFT
OUTER
JOIN
publishers
p
ON
a.city
=
p.city
ORDER
BY
p.pub_name
ASC,
a.au_lname
ASC,
a.au_fname
ASC

『貳』 如何設置SQL資料庫表與表的關聯關系

如果是 父子關系, 或者 一對多 關系。

可以通過 創建外鍵的方式, 在 父表 與 子表之間, 創建一個關聯關系。

例如:

-- 創建測試主表. ID 是主鍵.
CREATE TABLE test_main (
id INT NOT NULL,
value VARCHAR(10),
PRIMARY KEY(id)
);

-- 創建測試子表.
CREATE TABLE test_sub (
id INT NOT NULL,
main_id INT ,
value VARCHAR(10),
PRIMARY KEY(id)
);

-- 插入測試主表數據.
INSERT INTO test_main(id, value) VALUES (1, 'ONE');
INSERT INTO test_main(id, value) VALUES (2, 'TWO');

-- 插入測試子表數據.
INSERT INTO test_sub(id, main_id, value) VALUES (1, 1, 'ONEONE');
INSERT INTO test_sub(id, main_id, value) VALUES (2, 2, 'TWOTWO');

SQL> -- 創建外鍵(默認選項)
SQL> ALTER TABLE test_sub ADD CONSTRAINT main_id_cons FOREIGN KEY (main_id) REFERENCES test_main;

Table altered.

SQL>
SQL> -- 測試刪除主表數據. 將出錯 ORA-02292: 違反完整約束條件
SQL> DELETE
2 test_main
3 WHERE
4 ID = 1;
DELETE
*
ERROR at line 1:
ORA-02292: integrity constraint (HR.MAIN_ID_CONS) violated - child record found

熱點內容
資料庫10061 發布:2025-01-16 16:11:47 瀏覽:700
電腦網路ip地址怎麼配置 發布:2025-01-16 16:03:48 瀏覽:329
我的世界安卓網易版怎麼裝材質包 發布:2025-01-16 16:00:55 瀏覽:254
404頁面源碼 發布:2025-01-16 15:58:48 瀏覽:887
手機建行密碼忘記了怎麼辦 發布:2025-01-16 15:45:38 瀏覽:224
易語言視頻播放源碼 發布:2025-01-16 15:39:35 瀏覽:343
肇觀演算法 發布:2025-01-16 15:38:39 瀏覽:610
管家婆找不到加密狗 發布:2025-01-16 15:10:28 瀏覽:308
linux的etcfstab 發布:2025-01-16 15:00:43 瀏覽:364
電腦無法登錄內網伺服器 發布:2025-01-16 15:00:28 瀏覽:575