La jointure entre deux relations possédant un schéma quelconque mais avec au moins un attribut défini dans le même domaine de valeurs, produit une relation résultante. Cette dernière comporte la totalité des attributs de chacune des relations dont elle est issue, et contient la combinaison de tous les n-uplets des deux relations précitées, correspondant à la condition de jointure.
Cette condition peut tester l'égalité entre un ou plusieurs attributs toujours définis dans le même domaine, c'est-à-dire, dans un ensemble de valeurs autorisées pour chacun des attributs communs aux deux relations. Par ailleurs, les attributs comparés sur les deux relations peuvent ne pas avoir le même nom.
Ainsi dans les théta-jointures, on distingue l'équijointure, vérifiant l'égalité des valeurs d'attributs, et d'autres vérifiant une comparaison de différence, d'infériorité ou de supériorité (!=, <, >, <=, >=).
Formalisme : R = JOINTURE(Ra, Rb, Ra.Attribut opérateur Rb.Attribut)
ou
R = JOINTURERa.Attribut opérateur Rb.Attribut(Ra, Rb)
Ra |
A |
B |
C |
|
a |
b |
2 |
d |
e |
3 |
g |
h |
4 |
m |
n |
8 |
p |
q |
9 |
s |
t |
10 |
|
Rb |
C |
D |
E |
|
1 |
b |
c |
4 |
h |
i |
3 |
k |
l |
8 |
q |
r |
10 |
w |
x |
3 |
z |
a |
|
JOINRa.C = Rb.C(Ra, Rb) |
A |
B |
C |
D |
E |
|
d |
e |
3 |
k |
l |
d |
e |
3 |
z |
a |
g |
h |
4 |
h |
i |
m |
n |
8 |
q |
r |
s |
t |
10 |
w |
x |
|
---|
Langage SQL :
SELECT a.A, a.B, a.C, b.D, b.E FROM Ra AS a, Rb AS b
WHERE a.C = b.C;
Sommaire