簡體   English   中英

內部聯接兩個表

[英]Inner join two tables

  1. 當進行內部聯接時,相等值的條件始終是一個表中的主鍵與另一個表中的外鍵相等的情況。
  2. 當內部聯接兩個具有復合主鍵和復合外鍵的表時,是否總是需要通過主鍵和外鍵值的每個分量的相等性來聯接兩個表。
  1. 不,並非總是如此。 但這是我們通常要做的,這是規范模式。 (SQL INNER JOIN操作不需要謂詞是相等比較。並且不必在PRIMARY KEY和/或FOREIGN KEY列上進行比較。)

  2. 同樣,這是規范模式,但這不是INNER JOIN的要求。 如果目的是對主鍵/外鍵關系執行聯接,那么可以,謂詞將是對鍵的所有組件列進行相等比較。

  1. 您可以按任何字段按兩個表進行內部聯接,但是...描述基本表和從屬表的標准內部聯接。 而通過具有索引的字段進行聯接是性能問題
  2. 答案與第一個問題相同-您可以根據需要進行內部聯接。 這取決於您的架構以及在聯接兩個表時的期望

答案是否定的

JOIN操作的ON子句可以包含任何計算結果為1或0或不包含任何表達式。

例如,您可以編寫此代碼。

  FROM t1
  JOIN t2 ON INSTR(t1.name, t2.surname) > 0 AND t2.nationality = 'US'

甚至更可怕的事情。

外鍵有助於強制執行約束。 並且,在有利的情況下,關聯的索引會加速查詢。 但是JOIN子句完全不限於使用鍵和索引。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM