Suche…


Einführung in Access SQL

Bei Verwendung von Access können Sie Daten mithilfe von Abfragen abrufen. Diese Abfragen werden mit SQL (Structured Query Language) erstellt. Das Verständnis von SQL ist wichtig, da es hilfreich ist, bessere und nützlichere Abfragen zu erstellen.

Beim Erstellen von Abfragen in Access können Sie zu "SQL View" wechseln. Ein Beispiel für eine "select" -Abfrage wird hier gezeigt:

Geben Sie hier die Bildbeschreibung ein

Unionsabfragen (Zusammenführen)

Wenn Sie die Ergebnisse mehrerer Tabellen oder Abfragen mit ähnlichen Feldern zu einem einzigen Ergebnisdatensatz zusammenfassen möchten, ohne relationale Joins auszuführen (dh Sie möchten einen Datensatz unmittelbar nach dem anderen auflisten), verwenden Sie eine UNION Abfrage. Es ist jedoch zu beachten, dass diese Abfragen manuell in der SQL-Ansicht erstellt werden müssen.

Die Syntax einer UNION Abfrage lautet

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"

und gibt ein aus zwei Feldern bestehendes Dataset mit Feldnamen (Spaltennamen) zurück: floatptfld und text_field

Es ist wichtig, dass die Datentypen (und Datenstile) für anschließend zusammengeführte Tabellenfelder mit der ersten Abfrage in der Serie kompatibel sind. Wenn also die erste SELECT Abfrage eine Nummer für die erste Spalte generiert, muss die zweite Abfrage auch eine Nummer in der ersten Spalte zurückgeben. Neben den übereinstimmenden Feldtypen müssen die SELECT Anweisungen dieselbe Anzahl von Feldern zurückgeben. Namen für die Felder des resultierenden Datenblattes werden von der ersten Tabellendefinition übernommen.

Die folgende Abfrage wäre NICHT zulässig, da Text weder in Dezimaldaten umgewandelt werden kann, noch Gleitkommazahlen in Ganzzahlen konvertiert werden können (ohne explizite Kürzung oder Rundung und Typumwandlung).

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

Die Funktion COUNT ()

Sie können die COUNT () - Funktion verwenden, um die Anzahl der Datensätze zurückzugeben, die einer Abfrage entsprechen. Die folgende 'Mitarbeiter'-Tabelle enthält die ID-Nummern der Mitarbeiter und die zugehörige ID-Nummer des Vorgesetzten.

Mitarbeiter-ID Manager_ID
12 37
22 37
37 63
42 45
45 63
57 45
59 45
63

Eine COUNT () - Anweisung kann verwendet werden, um herauszufinden, wie viele Mitarbeiter einen bestimmten Manager haben:

SELECT COUNT(*) AS CNT FROM Employees WHERE Employee.Manager_ID = 37;

kehrt zurück

CNT

2

Die Funktion kann auch in komplizierteren Abfragen kombiniert werden. Um herauszufinden, wie viele Mitarbeiter direkt von einer bestimmten Person beaufsichtigt werden, kann Folgendes angewendet werden:

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;

kehrt zurück:

Mitarbeiter-ID Supervised_Count
12 0
22 0
37 2
42 0
45 3
57 0
59 0
63 2

MSDN-Dokumentation finden Sie hier .



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow