Opieram większość tego na próbie uzyskania „właściwej” odpowiedzi, więc możesz odkryć, że są pewne problemy z wydajnością. Nie ma sensu przyspieszać niepoprawnego zapytania.
Zrozum relacje w tabeli - większość z nich będzie jedna do wielu. Poznaj tabelę „wielu”. Zidentyfikuj pola wymagane dla twoich połączeń.
Pomyśl o scenariuszach dołączenia do LEWEGO - wybierz wszystkich pracowników i ich wypłaty z ostatniego miesiąca. Co jeśli nie dostaną wypłaty w zeszłym miesiącu?
Poznaj zestaw wyników: 1) W arkuszu kalkulacyjnym ręcznie wprowadź co najmniej jeden poprawny rekord dla zapytania. 2) Napisz zapytanie w wystarczająco prostej formie, aby określić, ile rekordów należy zwrócić. Użyj obu tych elementów, aby przetestować zapytanie, aby upewnić się, że dołączenie do nowej tabeli nie zmieni wyniku.
Podziel zapytanie na części możliwe do zarządzania - nie musisz pisać wszystkiego od razu. Złożone zapytania mogą czasem być po prostu zbiorem prostych zapytań.
Uwaga na mieszane poziomy agregacji : jeśli musisz umieścić wartości miesięczne, kwartalne i roczne w tym samym zestawie wyników, musisz je obliczyć osobno w zapytaniach pogrupowanych według różnych wartości.
Wiedzieć, kiedy UNION Czasami łatwiej jest rozbić podgrupy na ich własne wybrane instrukcje. Jeśli masz tabelę pomieszaną z kierownikami i innymi pracownikami, a w każdej kolumnie musisz wykonać instrukcje Case oparte na członkostwie w jednej z tych grup, łatwiej jest napisać zapytanie kierownika i związek do zapytania pracownika. Każdy z nich zawierałby własną logikę. Konieczne jest dołączanie elementów z różnych tabel w różnych rzędach.
Formuły złożone / zagnieżdżone - staraj się konsekwentnie wcinać i nie bój się używać wielu linii. „PRZYPADEK PRZY PRZYPADKU PRZYPADEK PRZY PRZYPADKU” doprowadzi Cię do szału. Zastanów się nad tym. Zachowaj złożone cielęta na koniec. Najpierw uzyskaj prawidłowe rekordy. Następnie atakujesz złożone formuły, wiedząc, że pracujesz z odpowiednimi wartościami. Wyświetlanie wartości użytych w formułach pomoże ci dostrzec obszary, w których musisz uwzględnić wartości NULL i gdzie poradzić sobie z błędem dzielenia przez zero.
Często testuj, dodając nowe tabele, aby upewnić się, że nadal otrzymujesz pożądany zestaw wyników i wiedząc, kto jest winowajcą.