| Termin | Definicja |
|---|---|
| CROSS JOIN | CROSS JOIN to operator Transact-SQL zwracający wszystkie możliwe kombinacje wierszy dwóch łączonych tabel. Iloczyn kartezjański w Transact-SQLCROSS JOIN w Microsoft SQL Server tworzy iloczyn kartezjański dwóch zbiorów wierszy. Oznacza to, że każdy wiersz z pierwszej tabeli zostaje połączony z każdym wierszem z drugiej tabeli. Jeżeli tabela A zawiera 4 wiersze, a tabela B zawiera 3 wiersze, wynik połączenia będzie zawierał 12 wierszy, o ile zapytanie nie zostanie ograniczone przez dodatkowe warunki, takie jak filtr w klauzuli Podstawowa składnia w SQL Server ma postać Różnica między CROSS JOIN a połączeniem warunkowymNajważniejsza różnica między Operator może być użyty świadomie, gdy celem jest wygenerowanie pełnej siatki kombinacji. Przykładem jest zestawienie wszystkich produktów ze wszystkimi oddziałami przed późniejszym sprawdzeniem dostępności, przygotowanie kombinacji dni i godzin w harmonogramie albo utworzenie listy wszystkich wariantów parametrów testowych. W takim przypadku wynik nie jest błędem, lecz pośrednim zbiorem danych, który może zostać dalej ograniczony przez Warunek umieszczony w Kontrola liczby wierszy i kosztu wykonaniaPrzy użyciu SQL Server może zastosować różne operatory fizyczne podczas wykonywania zapytania, między innymi zagnieżdżone pętle, sortowanie lub inne strategie wynikające z optymalizacji planu. Plan wykonania zależy od statystyk, indeksów, szacowanej liczby wierszy, filtrów i wybranych kolumn. Samo istnienie indeksu nie gwarantuje małego kosztu, ponieważ pełna kombinacja dużych tabel pozostaje duża z definicji. Do sprawdzenia zachowania zapytania można użyć planu wykonania w SQL Server Management Studio oraz statystyk czasu i operacji wejścia-wyjścia. Bezpieczniejsza konstrukcja zwykle ogranicza dane przed utworzeniem kombinacji, o ile ograniczenie jest zgodne z celem zapytania. Można zastosować warunki w podzapytaniach, filtr CROSS JOIN w analizie danych i diagnostyce zapytań SQL ServerW praktyce administracyjnej i programistycznej ten operator jest przydatny do tworzenia kontrolowanych zestawień testowych. Można na przykład połączyć tabelę zawierającą listę wartości konfiguracyjnych z tabelą zawierającą scenariusze testowe, aby uzyskać każdą kombinację wejść. Rezultat powinien być jednak jednoznacznie nazwany i ograniczony do zakresu potrzebnego dla danego testu. Jeżeli zapytanie zwraca wielokrotnie więcej wierszy, niż zakładano, pierwszym krokiem jest sprawdzenie, czy użyto Podczas analizy problemu warto porównać liczbę wierszy przed i po połączeniu, sprawdzić warunki filtrujące oraz przejrzeć plan wykonania. Trzeba również zwrócić uwagę na puste tabele: iloczyn kartezjański z tabelą zawierającą zero wierszy daje zero wierszy, niezależnie od liczby rekordów w drugiej tabeli. Wartości Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i podzespołów, natomiast problemy z zapytaniami |