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: 2062
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved