BD-1st-2.4-lab2.tresc-1.1-Slajd34
Zasady stosowania operatorów
Zasady konstruowania zapytań z operatorami zbiorowymi podlegają ścisłym rygorom. Po pierwsze, liczba wyrażeń w klauzulach SELECT wszystkich zapytań, wchodzących w skład konstrukcji, musi być taka sama. A więc jeśli w klauzuli SELECT pierwszego zapytania są trzy wyrażenia, w klauzulach SELECT wszystkich następnych zapytań też muszą być zdefiniowane trzy wyrażenia. Po wtóre, typy wartości odpowiadających sobie wyrażeń w klauzulach SELECT poszczególnych zapytań muszą być zgodne (lub istnieje możliwość realizacji domyślnej konwersji). Jeśli np. typ pierwszego wyrażenia pierwszego zapytania to liczba, pierwsze wyrażenia w klauzulach SELECT pozostałych zapytań też muszą być liczbami (lub muszą takich typów, dla których będzie możliwe przeprowadzenie konwersji do liczby).
Nagłówki atrybutów wyniku zapytania z operatorami zbiorowymi są tworzone z nazw wyrażeń lub aliasów, jakie zostały zdefiniowane w klauzuli SELECT pierwszego zapytania. Klauzula ORDER BY może wystąpić jedynie na końcu całej konstrukcji. W przypadku konstrukcji zawierającej więcej niż dwa zapytania, wykonanie następuje od góry: wynik pierwszego zapytania zostaje połączony operatorem zbiorowym z wynikiem drugiego zapytania, wynik tej operacji zostaje połączony z wynikiem trzeciego zapytania, itd. Jeśli konieczna jest zmiana kolejności wykonywania zapytań, należy użyć nawiasów, otaczając nimi te pary zapytań, które mają być zrealizowane jako pierwsze, np. w konstrukcji zapytanie_1 union (zapytanie_2 except zapytanie_3) najpierw połączone zostaną wyniki zapytań 2 i 3 a następnie wynik zapytania 1.