ms-access
Uzyskaj dostęp do SQL
Szukaj…
Wprowadzenie do Access SQL
Korzystając z programu Access, możesz pobierać dane za pomocą zapytań. Te zapytania są budowane przy użyciu języka SQL (Structured Query Language). Zrozumienie SQL jest ważne, ponieważ może pomóc w tworzeniu lepszych, bardziej przydatnych zapytań.
Podczas tworzenia zapytań w programie Access możesz przejść do „widoku SQL”. Przykład zapytania „wybierz” pokazano tutaj:
Zapytania Union (Merge)
Jeśli chcesz połączyć wyniki wielu tabel lub zapytań z podobnymi polami razem w jeden wynikowy zestaw danych bez wykonywania żadnych relacyjnych połączeń (tzn. Chcesz wyświetlić jeden zestaw danych bezpośrednio po drugim), użyjesz zapytania UNION . Warto jednak zauważyć, że zapytania te muszą być tworzone ręcznie w widoku SQL.
Składnia zapytania UNION to
SELECT
floatingpoint_field AS floatptfld,
text_field
FROM first_table
UNION
SELECT
integer_field,
decimal_field
FROM a_saved_query
UNION
SELECT
1.0,
"hi there Jack"
i zwraca zestaw danych o dwóch obszarach, w dziedzinie (kolumna) nazwami: floatptfld i text_field
Bardzo ważne jest, aby typy danych (i style danych) dla później scalonych pól tabel były zgodne z pierwszym zapytaniem w serii. Innymi słowy, jeśli pierwsze zapytanie SELECT generuje liczbę dla pierwszej kolumny, drugie zapytanie musi również zwrócić liczbę w pierwszej kolumnie. Oprócz dopasowywania typów pól w kolejności, instrukcje SELECT muszą zwracać tę samą liczbę pól. Nazwy pól wynikowego arkusza danych są dziedziczone z pierwszej definicji tabeli.
Poniższe zapytanie NIE byłoby zgodne z prawem, ponieważ tekstu nie można zamienić na dane dziesiętne, ani liczb zmiennoprzecinkowych nie można przekonwertować na liczby całkowite (bez wyraźnego obcięcia lub zaokrąglenia i rzutowania).
SELECT
integer_field AS this_really_wont_turn_out_well,
decimal_field
FROM a_saved_query
UNION
SELECT
floatingpoint_field,
text_field
FROM first_table
Funkcja COUNT ()
Możesz użyć funkcji COUNT (), aby zwrócić liczbę rekordów pasujących do zapytania. Poniższa tabela „Pracownik” zawiera numery identyfikacyjne pracownika i numer identyfikacyjny powiązanego z nim menedżera.
| Numer identyfikacyjny pracownika | Manager_ID |
|---|---|
| 12 | 37 |
| 22 | 37 |
| 37 | 63 |
| 42 | 45 |
| 45 | 63 |
| 57 | 45 |
| 59 | 45 |
| 63 |
Za pomocą instrukcji COUNT () można dowiedzieć się, ilu pracowników ma określonego kierownika:
SELECT COUNT(*) AS CNT FROM Employees WHERE Employee.Manager_ID = 37;
zwroty
| CNT |
|---|
2)
Funkcję można również łączyć w bardziej skomplikowane zapytania. Aby dowiedzieć się, ilu pracowników jest bezpośrednio nadzorowanych przez określoną osobę, można zastosować następujące zasady:
SELECT T1.Employee_ID,
(SELECT COUNT(*) AS CNT FROM Employees AS T2 WHERE T2.Manager_ID =
T1.Employee_ID) AS Supervised_Count
FROM Employees AS T1;
zwroty:
| Numer identyfikacyjny pracownika | Supervised_Count |
|---|---|
| 12 | 0 |
| 22 | 0 |
| 37 | 2) |
| 42 | 0 |
| 45 | 3) |
| 57 | 0 |
| 59 | 0 |
| 63 | 2) |
Dokumentację MSDN można znaleźć tutaj .
