Quina diferència hi ha entre unió equi, unió natural, unió interior i unió exterior?


Resposta 1:

Unió interior: tots els registres coincidents basats en el mateix valor en columnes de dues taules. Aquesta és la unió més bàsica en SQL.

Equi Join: utilitzeu equals to (=) per signar entre columnes de dues taules per crear equi join. Obté resultats que coincideixen amb el valor en dues columnes,

Natural Join: només cal comparar totes les columnes comunes entre dues taules.

Unió externa: tots els registres que coincideixen i que no coincideixen en dues taules. Una unió externa completa és una combinació d'unió exterior externa esquerra i unió externa dreta.

Seguiu-me a Gautam Gupta per obtenir més informació sobre els conceptes SQL.


Resposta 2:
  1. En primer lloc, "es poden esborrar gairebé totes les entrades Equi", es basen en la igualtat de certes columnes. L'adhesió interna s'utilitza per unir dues o més taules basades en una columna comuna entre elles. Una unió natural crea una unió implícita. clàusula basada en les columnes comunes de les dues taules que s'uneixen.

Si la instrucció SELECT en què apareix l’operació NATURAL JOIN té un asterisc (*) a la llista de selecció, l’asterisc s’ampliarà a la llista següent de columnes (en aquest ordre):

  • Totes les columnes comunesCada columna de la primera taula (esquerra) que no és una columna comunaCada columna de la segona taula (dreta) que no és una columna comuna

Operació NATURAL JOIN

Les juntes externes us proporcionen les columnes comunes i totes les columnes de l'esquerra o la dreta de les taules.


Resposta 3:

Si estic executant una consulta amb una base de dades relacional i necessito treure dades de diverses taules, probablement utilitzaré l’operador JOIN a la meva consulta. Perquè un JOIN funcioni, les dues taules que m’uneixo han de tenir una o més columnes comunes. (Nota: les columnes a les que m’uneixo no han de tenir el mateix nom, sinó que han de tenir el mateix tipus i longitud de dades.) Diguem que estic tirant dades de la taula "A" i de la taula "B" fent servir una columna anomenada "Clau". (Si es tracta d’una clau primària o una clau estrangera no importa. Si tinc un índex a la "clau", la consulta probablement s’executarà més ràpid.) Així que potser vull que el meu conjunt de respostes contingui les files de la taula A i taula B on la clau de A és igual a la clau de B. És una "unió equi". La condició que coincideix amb les tecles és "igual". Tot i que bastant rar, és possible unir-se a taules utilitzant altres condicions com ara menys que, major que, etc. Quan vull que la meva consulta només torni les files d'A i B on coincideixin les tecles, també s'anomena interior unir-se Potser vull que el meu conjunt de respostes contingui les files de la taula A i la taula B on les tecles siguin iguals, més totes les altres files de la taula A on no es troba cap clau coincident de B. Es tracta d'una unió "exterior". En aquest cas, es tracta d’una unió exterior esquerra perquè A és la taula de l’esquerra de la meva consulta. Si vull la conversa: les files de la taula A i la taula B on coincideixen les tecles, més totes les altres files de la taula B on no es troba cap clau corresponent de A, aleshores és una unió exterior dreta perquè B és la taula activada el dret. Si vull unir A i B mitjançant una o més tecles on les columnes o claus tenen el mateix nom de columna tant en A com en B, llavors es coneix com a unió natural. L’unió natural pot ser una unió interna o externa.