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:

wprowadź opis zdjęcia 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 .



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow