| CATEGORII DOCUMENTE |
Dupa cum am precizat, acest tip de legatura intre doua tabele, va lega fiecare rand din prima tabela cu fiecare rand din cea de a doua tabela. De exemplu comanda:
SELECT p.nume, p.prenume, f.nume
FROM persoane p, firme f
Va afisa urmatoarele informatii
Tabelul II.3.4. Produsul cartezian intre tabelele Persoane si Firme
|
Nume |
Prenume |
Nume |
|
Ionescu |
Gheorghe |
SC Crisib SA |
|
Vasilescu |
Vasile |
SC Crisib SA |
|
Popescu |
Ioan |
SC Crisib SA |
|
Georgescu |
Maria |
SC Crisib SA |
|
Marinescu |
Angela |
SC Crisib SA |
|
Antonescu |
Elena |
SC Crisib SA |
|
Bischin |
Paraschin |
SC Crisib SA |
|
Olaru |
Angela |
SC Crisib SA |
|
Ionescu |
Gheorghe |
SC SoftCom |
|
Vasilescu |
Vasile |
SC SoftCom |
|
Popescu |
Ioan |
SC SoftCom |
|
Georgescu |
Maria |
SC SoftCom |
|
Marinescu |
Angela |
SC SoftCom |
|
Antonescu |
Elena |
SC SoftCom |
|
Bischin |
Paraschin |
SC SoftCom |
|
Olaru |
Angela |
SC SoftCom |
|
Ionescu |
Gheorghe |
SC TimTip |
|
Vasilescu |
Vasile |
SC TimTip |
|
Popescu |
Ioan |
SC TimTip |
|
Georgescu |
Maria |
SC TimTip |
|
Marinescu |
Angela |
SC TimTip |
|
Antonescu |
Elena |
SC TimTip |
|
Bischin |
Paraschin |
SC TimTip |
|
Olaru |
Angela |
SC TimTip |
|
Ionescu |
Gheorghe |
Brasoveanca |
|
Vasilescu |
Vasile |
Brasoveanca |
|
Popescu |
Ioan |
Brasoveanca |
|
Georgescu |
Maria |
Brasoveanca |
|
Marinescu |
Angela |
Brasoveanca |
|
Antonescu |
Elena |
Brasoveanca |
|
Bischin |
Paraschin |
Brasoveanca |
|
Olaru |
Angela |
Brasoveanca |
De remarcat ca notatia p.nume p.prenume f.nume, precum si literele p si f care urmeaza dupa numele tabelelor din clauza FROM. Spunem ca am definit un alias al fiecarei tabele. Am fost nevoiti sa folosim acest alias, deoarece in ambele tabele exista o coloana cu numele nume si daca nu prefatam numele acestei coloane cu aliasul tabelei se va genera o ambiguitate pe care serverul bazei de date nu va sti sa o rezolve. Aliasul tabelei este obligatoriu sa-l folosim cand doua tabele contin coloane cu acelasi nume. In exemplul anterior coloana prenume nu este obligatoriu sa o prefatam cu aliasul coloanei, astfel comanda anterioara poate fi scrisa si astfel:
SELECT p.nume, prenume, f.nume
FROM persoane p, firme f
Asadar, produsul cartezian apare atunci cand nu este precizata nici o conditie privind modul de legare al celor doua tabele.
Pentru a obtine produsul cartezian, in sintaxa ANSI vom folosi clauza CROSS JOIN in cadrul clauzei FROM ca in exemplul urmator.
SELECT p.nume, p.prenume, f.nume
FROM persoane p CROSS JOIN firme f
Rezultatul obtinut va coincide cu cel obtinut anterior.
|
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 2246
Importanta: ![]()
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2025 . All rights reserved