KategorieBazy danych

[MySQL] Jak uzyskać wszystkie możliwe kombinacje wierszy z dwóch tabel?

Uzyskanie wszelkich możliwych kombinacji rekordów z dwóch tabel jest bardzo prostą operacją. Często takie dane mogą nam posłużyć jako dane testowe, którymi wypełniamy nasze tabele aby testować np. wydajność zapytań.

Mając dwie tabele, w tym przypadku będzie to tabela z imionami i tabela z nazwiskami.

Tabela „imiona”

+----+----------+
| id | imie     |
+----+----------+
|  1 | Jan      |
|  5 | Adam     |
+----+----------+

Tabela „nazwiska”

+----+----------+
| id | imie     |
+----+----------+
|  1 | Kowalski |
|  5 | Nowak    |
+----+----------+

Chcieli byśmy uzyskać wynik jak w zaprezentowanej poniżej tabeli.

+----------+----------+
| imie     | nazwisko |
+----------+----------+
| Jan      | Kowalski |
| Adam     | Kowalski |
| Jan      | Nowak    |
| Adam     | Nowak    |
+----------+----------+

Efekt ten jest bardzo prosty do uzyskania i sprowadza się do podania listy tabel, które mają utworzyć wszystkie możliwe kombinacje po klauzuli „FROM” zapytania „SELECT”. Takie zapytanie zostało zaprezentowane poniżej.

SELECT imie, nazwisko FROM imiona, nazwiska

Jak widać po FROM zostały wymienione obie tabele po przecinku oraz zdefiniowano listę kolumn po SELECT, które mają zostać wyświetlone i w ten oto prosty sposób mamy wszystkie kombinacje rekordów z obu tabel.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.