Brillenkorrektur der Alterssichtigkeit. Auswahl an Bürobrillen

Und über die Tabellendaten.

Die SQL-Sprache wird aufgerufen eingebaut, Weil Es enthält die Funktionen einer vollwertigen Entwicklungssprache und konzentriert sich auf den Datenzugriff, wodurch es in die Anwendungsentwicklungswerkzeuge aufgenommen wird. SQL-Sprachstandards unterstützen Pascal, Fortran, COBOL, C und andere Programmiersprachen.

Existiert 2 Methoden zur Verwendung von Embedded SQL:

  • statisch Sprachgebrauch ( statisches SQL) - Der Programmtext enthält Aufrufe von SQL-Funktionen, die nach der Kompilierung im ausführbaren Modul enthalten sind.
  • dynamisch Sprachgebrauch ( dynamisches SQL) – dynamischer Aufbau von SQL-Funktionsaufrufen und deren Interpretation. Zum Beispiel können Sie während der Programmausführung auf die Daten der entfernten Datenbank zugreifen.

Die SQL-Sprache (wie andere Datenbanksprachen) dient dazu, Abfragen vorzubereiten und auszuführen. Als Ergebnis der Ausführung einer Datenabfrage aus einer oder mehreren Tabellen wird eine Menge von Datensätzen erhalten, die aufgerufen wird Leistung.

Bestimmung 1

Leistung ist eine Tabelle, die als Ergebnis der Abfrageausführung erstellt wird.

Grundlegende Operatoren der SQL-Abfragesprache

SQL-Anweisungen werden bedingt unterteilt in 2 Subsprachen:

  1. Datendefinitionssprache DDL;
  2. Datenmanipulierungssprache DML.

In der Tabelle ist das Symbol * gekennzeichnet bestimmte Operatoren Sprache.

Werfen wir einen Blick auf die wichtigsten SQL-Anweisungen.

    Anweisung zur Tabellenerstellung:

    Der Name der zu erstellenden Tabelle und der Name mindestens einer Spalte (Feld) sind erforderliche Operanden. Für den Spaltennamen müssen Sie den Datentyp angeben, der darin gespeichert wird.

    Für einzelne Felder können Sie zusätzliche Regeln zur Steuerung der darin eingetragenen Werte festlegen. Zum Beispiel, NICHT NULL gibt an, dass das Feld nicht leer sein darf und ein Wert eingegeben werden muss.

    Beispiel 1

    Um eine Tabelle zu erstellen Bücher Buchverzeichnis, das die Felder enthält:

    Typ- Art des Buches

    Name- Name des Buches,

    Preis– Buchpreis

    Operator könnte so aussehen:

    Tabellenstruktur-Änderungsoperator:

    Wenn Sie die Tabellenstruktur ändern, können Sie hinzufügen ( HINZUFÜGEN), Rückgeld ( ÄNDERN) oder löschen ( FALLEN) eine oder mehrere Tabellenspalten. Die Regeln zum Schreiben dieses Operators sind dieselben wie für den Operator TABELLE ERSTELLEN. Sie müssen nicht angeben, dass eine Spalte gelöscht werden soll.

    Beispiel 2

    Zum Tisch hinzufügen Bücher Felder Nummer, in dem die Anzahl der Bücher gespeichert wird, können Sie den Operator schreiben:

    Anweisung zum Löschen von Tabellen:

    Beispiel 3

    Um beispielsweise eine vorhandene Tabelle mit dem Namen zu löschen Bücher Verwenden Sie einfach den Operator:

    Erklärung zur Indexerstellung:

    Die Anweisung erstellt einen Index für eine oder mehrere Spalten einer bestimmten Tabelle, wodurch Abfrage- und Suchvorgänge beschleunigt werden. Für dieselbe Tabelle können mehrere Indizes erstellt werden.

    Optionale Option EINZIGARTIG ist dafür verantwortlich, die Eindeutigkeit von Werten in allen Spalten sicherzustellen, die in der Anweisung angegeben sind.

    ASC legt die automatische Sortierung von Werten in Spalten in aufsteigender Reihenfolge fest (Standard) und BESCHR- in absteigender Reihenfolge.

    Index-Drop-Operator:

    Operator für Ansichtserstellung:

    Beim Erstellen einer Ansicht können Sie die Spaltennamen weglassen. Dann werden die Spaltennamen aus der Abfrage verwendet, die durch den entsprechenden Operator beschrieben werden AUSWÄHLEN.

    Löschoperator anzeigen:

    Datensatzauswahloperator:

    Operator AUSWÄHLEN wählt Daten aus einer oder mehreren Tabellen aus und führt Berechnungen mit diesen aus. Das Ergebnis der Anweisungsausführung ist eine Antworttabelle, die ( ALLE) oder enthält nicht ( UNTERSCHEIDBAR) Zeilen, die sich wiederholen.

    Operand AUS enthält eine Liste von Tabellen, aus denen Datensätze für die Datenauswahl entnommen werden.

    Datensatzänderungsoperator:

    Neue Feldwerte in Datensätzen dürfen keine Werte enthalten ( NULL) oder nach einem arithmetischen Ausdruck berechnet.

    Operator zum Einfügen neuer Datensätze:

    Im ersten Datensatz des Betreibers EINFÜGUNG neue Datensätze werden mit vorgegebenen Werten in die Spalten eingetragen.

    Im zweiten Datensatz des Betreibers EINFÜGUNG neue Zeilen werden eingegeben, ausgewählt aus einer anderen Tabelle durch einen Satz AUSWÄHLEN.

    Datensatzoperator löschen:

    Als Ergebnis der Ausführung des Operators werden die Zeilen, die die durch den optionalen Operanden angegebene Bedingung erfüllen, aus der angegebenen Tabelle gelöscht WO. Wenn der Operand WO nicht angegeben ist, werden alle Datensätze in der Tabelle gelöscht.

Disziplin: Datenbanken

SprachoperatorenSQL

Die SQL-Sprache enthält Operatoren verschiedener Kategorien. Jede SQL-Anweisung besteht aus reservierten Wörtern und Wörtern, die vom Benutzer in Übereinstimmung mit etablierten syntaktischen Regeln definiert werden. Wie bei vielen Programmiersprachen wird bei den meisten Anweisungskomponenten der Sprache die Groß-/Kleinschreibung nicht beachtet. Die Ausnahme von dieser Regel sind, wie üblich, Zeichendaten, bei denen die Groß- und Kleinschreibung beachtet werden muss und diejenige verwendet werden muss, die zur Darstellung der Daten benötigt wird.

Um Anweisungen in der Sprache zu schreiben, wird ein freies Format verwendet, das es ermöglicht, das SQL-Programm durch Einrückung und Ausrichtung besser lesbar zu machen.

    jeder Satz in der Anweisung muss in einer neuen Zeile beginnen;

    der Anfang jedes Satzes muss mit dem Anfang der restlichen Sätze der Aussage ausgerichtet sein;

    jeder Teil des Satzes sollte in einer neuen Zeile mit einer gewissen Einrückung relativ zum Anfang des gesamten Satzes beginnen, wodurch Sie die untergeordneten Teile hervorheben können;

    Für das Schreiben von Operatoren gelten einige Konventionen:

    Großbuchstaben werden verwendet, um reservierte Wörter zu schreiben;

    Kleinbuchstaben werden verwendet, um benutzerdefinierte Wörter zu schreiben;

    der vertikale Balken „|“ zeigt an, dass einer von mehreren Werten ausgewählt werden muss;

    geschweifte Klammern definieren ein erforderliches Element;

    eckige Klammern definieren ein optionales Element;

    die Ellipse "..." wird verwendet, um die optionale Möglichkeit anzuzeigen, das Konstrukt von null bis zu mehreren Male zu wiederholen.

Datendefinitionsoperatoren (Tabelle 1) werden verwendet, um die verwendeten Datenstrukturen zu beschreiben. Diese Kategorie umfasst die folgenden Anweisungen: create table, drop table, alter table, create view, ALTER VIEW, DROP VIEW.

Tabelle 1 . Datendefinitionsoperatoren

Operator Erläuterung

Tabelle erstellen

DROP-Tabelle

Tabelle ändern

ANSICHT ERSTELLEN Eine Ansicht erstellen

Ansicht ändern

Ansicht fallen lassen

Datenmanipulationsoperatoren, die die nächste Kategorie von Operatoren bilden, dienen dazu, Tabellen mit Daten zu füllen und die darin geladenen Informationen zu aktualisieren. Diese Kategorie umfasst die folgenden Operatoren: Löschen, Einfügen, Aktualisieren (Tabelle 2).

Tabelle 2 . Datenmanipulationsoperatoren

OperatorErläuterung

Löschen Löscht eine oder mehrere Zeilen, die den Bedingungen entsprechen

Filterung, aus der Basistabelle

INSERT Fügt eine Zeile in die Basistabelle ein

update Aktualisiert die Werte einer oder mehrerer Spalten in einer oder mehreren

mehrere Zeilen, die den Filterbedingungen entsprechen

Um Informationen aus der Datenbank auszuwählen, ist die Abfragesprache vorgesehen, die in der SQL-Sprache durch eine einzelne Auswahlanweisung repräsentiert wird (Tabelle 3).

Tisch 3 Abfragesprache

Operator Erläuterung

select Wählt Zeilen aus; Operator, mit dem Sie das Ergebnis bilden können

Tabelle, die der Abfrage entspricht

Zusätzlich zu den angegebenen Kategorien von Operatoren, deren Zweck nach dem Lesen der Erläuterungen in den Tabellen nicht schwer vorstellbar ist, müssen zwei weitere herausgegriffen werden: T(Tabelle 4) und Datenverwaltungstools (Tabelle 5). .

Tabelle 4. Transaktionsmanagement

Bedienererklärung

commit Vervollständigen Sie die Transaktion - vervollständigen Sie die Verarbeitung von Informationen,

zu einer Transaktion zusammengefasst

rollback Rollback-Transaktion - während der Ausführung vorgenommene Änderungen rückgängig machen

Status der Datenbank, markieren Sie ihn, um später darauf zurückgreifen zu können

Tabelle 5 . Datenverwaltung

Bedienererklärung

ALTER DATABASE Ändern Sie den Satz von Basisobjekten in der Datenbank, Einschränkungen bzgl

die gesamte Datenbank

ALTER DBAREA Ändert einen zuvor erstellten Speicherbereich

ALTER PASSWORD Ändert das Passwort für die gesamte Datenbank

DATENBANK ERSTELLEN Erstellen Sie eine neue Datenbank

CREATE DBAREA Erstellen Sie einen neuen Speicherbereich und machen Sie ihn für das Hosting verfügbar

DROP DATABASE Löscht eine vorhandene Datenbank

DROP DBAREA Löscht einen bestehenden Speicherbereich (wenn er derzeit keine enthält

aktive Daten befinden)

GEWÄHREN Gewähren Sie Zugriffsrechte für eine Reihe von Aktionen für ein Datenbankobjekt

REVOKE Widerrufen Sie Zugriffsrechte auf ein Objekt oder einige Aktionen

Objekt

In kommerziellen DBMS wird der Satz von Basisoperatoren erweitert. Die meisten DBMSs enthalten Anweisungen zum Definieren und Löschen des Laufindex gespeicherter Prozeduren und Anweisungen zum Definieren von Triggern.

Es ist üblich, sich mit dieser Sprache vertraut zu machen, indem man die Fähigkeiten der Abfragesprache betrachtet, die in der SQL-Sprache durch eine einzige select-Anweisung repräsentiert wird, da diese mächtige Anweisung natürlich auch die komplexeste ist. Darüber hinaus ist es interessant zu sehen, wie es in Zukunft in Verbindung mit Datenmanipulationsoperatoren verwendet werden kann.

    Aussage auswählenAUSWÄHLEN . Bildung von Anfragen an die Datenbank

Der Zweck der select-Anweisung besteht darin, Daten aus einer oder mehreren Datenbanktabellen auszuwählen und anzuzeigen. Dieser äußerst leistungsfähige, am häufigsten verwendete Operator implementiert alle relationalen Algebra-Operationen. Dieselbe Anforderung kann auf verschiedene Arten implementiert werden, die sich in der Ausführungszeit erheblich unterscheiden können.

Kontoauszugsformat auswählen:

AUSWÄHLEN *|<список полей>AUS<список таблиц>

Die angegebene Reihenfolge der Phrasen in der select-Anweisung kann nicht geändert werden, aber nicht alle Teile davon sind erforderlich. Erforderliche Klauseln umfassen nur die select- und from-Klauseln. Alle anderen Teile des Operators können nach Ermessen des Programmierers verwendet werden. Erläuterung:

□ Satz auswählen:

Stichwort Präsenz alle(Standard) bedeutet, dass die resultierende Tabelle alle Zeilen enthält, die die Abfragebedingungen erfüllen, was dazu führen kann, dass doppelte Zeilen in der resultierenden Tabelle erscheinen;

Stichwort unterscheidbar entwickelt, um die Tabelle mit den Prinzipien der relationalen Theorie in Einklang zu bringen, die das Fehlen doppelter Zeilen voraussetzt;

Symbol " * " definiert eine sehr häufige Situation, in der die Ergebnismenge alle Spalten aus der ursprünglichen Abfragetabelle enthält.

□ In einem Satz aus eine Liste von Quelltabellen der Abfrage wird angegeben.

□ In einem Satz wo Bedingungen zum Auswählen von Ergebniszeilen oder Bedingungen zum Verbinden von Zeilen von Quelltabellen werden definiert, ähnlich der bedingten Join-Operation in der relationalen Algebra. Als Auswahlbedingungen können folgende Prädikate verwendet werden:

Vergleiche "= ,<>, >, <, >=, <=" - для сравнения результатов вы­числения двух выражений; более сложные выражения строятся с по­мощью логических операторов AND, OR, NOT; значения выражений вычисляются в порядке, который определяется приоритетом исполь­зуемых операторов и наличием скобок в выражении;

zwischenABERundBEI- Das Prädikat ist wahr, wenn der ausgewertete Wert des Ausdrucks in den angegebenen Bereich fällt (das Prädikat nichtzwischenaundBEI wahr, wenn der verglichene Wert nicht in das angegebene Intervall fällt);

in- das Prädikat ist wahr, wenn der verglichene Wert in der Menge gegebener Werte enthalten ist; In diesem Fall kann die Wertemenge durch eine einfache Aufzählung oder eine eingebaute Unterabfrage angegeben werden (das Prädikat not in ist wahr, wenn der verglichene Wert nicht in der angegebenen Menge enthalten ist);

wie und nichtwie- Prädikate, deren Bedeutung entgegengesetzt ist, erfordern die Angabe einer Vorlage, mit der der gegebene Wert verglichen wird; das Like-Prädikat ist wahr, wenn der verglichene Wert mit dem Muster übereinstimmt, andernfalls falsch;

ISTNull- ein Prädikat, das verwendet wird, um die Gleichheit des Werts eines Attributs mit einem undefinierten Wert zu erkennen:

    <имя атрибута> ISTNull- nimmt den Wert true an, wenn das angegebene Attribut in dieser Zeichenfolge einen undefinierten Wert hat, andernfalls false;

    <имя атрибута> ISTNICHTNull- alles passiert umgekehrt.

existieren und nichtexistieren Die wird in Inline-Unterabfragen verwendet.

□ In einem Satz Gruppedurch die Liste der Gruppierungsfelder wird eingestellt.

□ In einem Satz haben die jeder Gruppe auferlegten Prädikate-Bedingungen werden festgelegt.

□ In einem Satz bestellendurch Es wird eine Liste mit Feldern für die Ergebnissortierung angegeben, d. h. eine Liste mit Feldern, die die Sortierreihenfolge in der resultierenden Tabelle bestimmt.

Der SQL-Standard definiert das Konzept eines NULL-Werts, was die Verwendung einer dreiwertigen Logik erforderlich machte, bei der alle logischen Operationen in Übereinstimmung mit der Wahrheitstabelle unten (Tabelle 6) durchgeführt werden.

Tisch 6 . Wahrheitstabelle

A UND B

TBEREUEN

1.1. Einfache Abfragen

Anfrage 1

Informationen zu den Fachbereichen der Universität anzeigen.

Diese Aufgabe reduziert sich auf das Auswählen und Anzeigen von Informationen aus einer Tabelle, und alle ihre Zeilen und alle ihre Spalten werden ausgegeben:

WÄHLEN Sie * AUS der Abteilung

Das Ergebnis einer solchen Abfrage ist eine Tabelle mit Informationen zu allen Fachbereichen der Universität:

Code kaf

Name kaf

Nom_telef

Nom_Auditoria

Col_sotr

Iwanow T.M.

Allgemeine Mathematik

Machow K L.

Ross L.T.

Firsov S.S.

Angewandte Mathematik

Ljachowa I.T.

Anfrage 2

Telefonnummern von Universitätsabteilungen anzeigen.

Das Ergebnis einer solchen Abfrage sollte nur zwei Spalten enthalten: Name_ kaf und Nom_ Telefon, Die Abfrage selbst sollte also so aussehen:

WÄHLEN Sie Name_kaf, Nom_telef VON kafedra

Ergebnistabelle:

Namekaf Nomjelef

Physik 23-34-24

Allgemeine Mathematik 23-65-43

Geschichten 23-78-72

Diagramme 23-99-77

Angewandte Mathematik 23-66-62

In den oben gebildeten Abfragen war es erforderlich, alle Zeilen der in der from-Klausel angegebenen Tabelle anzuzeigen. Wenn die Auswahl die Anzahl der Ausgabezeilen gemäß einer Bedingung einschränken muss, kann dies durch die Verwendung der where-Klausel in der Abfrage erreicht werden. Sie können eine oder mehrere Zeilenauswahlbedingungen in die where-Klausel aufnehmen.

Anfrage 3

Informationen über die Abteilung Grafik anzeigen.

SELECT * FROM kafedra WHERE Name_kaf = "Charts"

Die Antwort auf eine solche Anfrage enthält nur eine Zeile:

Kod.kaf Name_kaf NomjelefNom_Auditoria Col_sotr Zav_kaf

004 Diagramme 23-99-77 385 18 Firsov C.C.

Antrag 4

Anzeige von Informationen zu den im Erdgeschoss befindlichen Fachbereichen der Universität unter Berücksichtigung der Tatsache, dass die Räume im Erdgeschoss im Bereich von 1 bis 99 liegen.

Die Anfrage sieht wie folgt aus:

SELECT * FROM kafedra WO Nom_Auditoria ZWISCHEN 1 UND 99

Abfrageergebnis:

KodjcafName_kafNorn lelef Norn Audit oria Coi_sotr Zavkaf

002 Allgemeine Mathematik 23-65-43 003 22 Makhov K.L.

Mathematik

Im Allgemeinen werden die Zeilen in der resultierenden Tabelle auf irgendeine Weise in einem ungeordneten Zustand angezeigt. Das Anzeigen und Analysieren solchen Materials ist nicht immer bequem. Die order by-Klausel wird verwendet, um Zeilen nach einer beliebigen Spalte zu sortieren. Es enthält eine durch Kommas getrennte Liste von Spaltennamen, nach denen Sie die angezeigten Informationen sortieren möchten. Diese Phrase muss immer an letzter Stelle in der Select-Anweisung stehen und es wird, falls vorhanden, möglich, Zeilen in aufsteigenden (asc) oder absteigenden (desc) Werten der angegebenen Spalte oder Kombination der angegebenen Spalten zu sortieren, unabhängig davon, ob diese Spalten in der resultierenden Tabelle vorhanden sind oder nicht.

Antrag 5

Informationen zu den Fachbereichen der Hochschule in der Form nach Spalte sortiert anzeigenName_ kafin aufsteigender Reihenfolge.

Die Anfrage sieht wie folgt aus:

SELECT * FROM kafedra ORDER BY Name_caf ASC

Das Ergebnis dieser Anfrage:

Kod_kaf Name_kaf Nomjelef Nom_Auditoria Col_sotr Zav kaf

004 Diagramme 23-E9-77 385 18 FirsovS.S.

003 Geschichten 23-78-72 465 16 Ross L.T.

002 Generalma- 23-65-43 003 22 Makhov K.L.

Themen

005 Angewendet 23-66-62 028 24 Lyakhova I.T.

Mathematik

001 Physiker 23-34-24 132 25 Ivanov T.M.

Oft ist es sinnvoll, die angezeigten Informationen in mehrere Spalten zu sortieren, um die Sichtbarkeit zu verbessern. Dazu müssen Sortierspaltennamen durch Kommas getrennt in der order by-Klausel aufgeführt werden. In diesem Fall enthält die Ausgabetabelle Zeilen, die nach der ersten Spalte sortiert sind, die in der order by-Klausel angegeben ist, und Zeilen mit gleichen Werten in dieser Spalte werden nach den Werten der zweiten Spalte usw. sortiert links nach rechts.

Wie bereits erwähnt, schlug Edgar Codd in den 1970er Jahren vor, das relationale Modell zu verwenden. Neben dem Modell selbst schlug er auch eine Sprache für die Arbeit mit Daten innerhalb dieses Modells namens DSL/Alpha vor. In der Folge entstand auf Basis von DSL/Alpha die SQUARE-Sprache und auf ihrer Basis wiederum die SEQUEL-Sprache, die (aufgrund einiger Warenzeichenverwechslungen) später in SQL umbenannt wurde.

Hier kann constraint_* folgende Werte (oder Kombinationen davon) haben:

  • NOT NULL - kann nicht "leer" sein
  • EINZIGARTIG - Der Wert ist eindeutig
  • PRIMARY KEY - eine Kombination der ersten beiden
  • FOREIGN KEY - Angabe eines Fremdschlüssels
  • CHECK - der Wert muss die Bedingung erfüllen
  • STANDARD - Standardwert

Es gibt einige Diskrepanzen in verschiedenen Implementierungen.

Wenn der Primärschlüssel aus mehreren Spalten besteht, muss er nach der Deklaration der Spalten im Formular herausgenommen werden

CONSTRAINT pk_table PRIMARY KEY (Spalte1, Spalte2, .. .)

wobei pk_table der eindeutige Name der Einschränkung ist.

In vielen Implementierungen kann der CONSTRAINT-Teil von pk_table weggelassen werden. In diesem Fall wird der Name automatisch generiert.

Der Fremdschlüssel wird in jedem Fall nach der Deklaration der Spalten deklariert.

Syntax:

CONSTRAINT fk_table FOREIGN KEY (col1, .. .) REFERENCES tbl_name (ref_col1, .. .) ON UPDATE upd_action ON DELETE del_action;

Dabei ist fk_table der eindeutige Name der Einschränkung, col1, ... sind die Namen der Spalten dieser Tabelle, die im Fremdschlüssel enthalten sind, tbl_name ist die Tabelle, für die der angegebene Fremdschlüssel primär ist, ref_col1, ... sind die Namen der entsprechenden Spalten in tbl_name . upd_action und del_action bestimmen, wie die Datenbank auf Änderungen und Löschungen von Datensätzen aus tbl_name reagiert, und können einen der folgenden Werte annehmen:

  • SET NULL - Verweisende Spalten col1, ... werden auf NULL gesetzt
  • EINSCHRÄNKUNG - Wenn Datensätze vorhanden sind, die sich auf den aktualisierten/gelöschten Wert beziehen, schlägt die Aktualisierung/Löschung fehl
  • CASCADE - alle referenzierenden Einträge aktualisieren/entfernen
  • KEINE AKTION - nichts tun

In vielen Implementierungen kann der CONSTRAINT-Teil von fk_table weggelassen werden. In diesem Fall wird der Name automatisch generiert.

Die Syntax der SELECT-Anweisung lautet wie folgt:

AUSWÄHLEN<список атрибутов>/* AUS<список таблиц>

Eventuell fehlende Elemente in der Abfrage sind in eckigen Klammern gekennzeichnet.

Alle Schüler auflisten.

AUSWÄHLEN * VOM Schüler

SELECT id_st, Nachname VON Student

Beachten Sie, dass die Liste nach Nachnamen geordnet wird, wenn wir die Klausel ORDER BY surname zu dieser Abfrage hinzufügen. Standardmäßig wird in aufsteigender Reihenfolge sortiert. Wenn eine absteigende Sortierung erforderlich ist, wird das Wort DESC nach dem Attributnamen hinzugefügt.

Gibt eine Liste der Noten zurück, die ein Student mit dem Code "1" erhalten hat.

Erstellen Sie eine Liste mit den Codes der Studenten, die in den Prüfungen mindestens eins, zwei oder drei erhalten haben.

In der WHERE-Klausel können Sie einen Ausdruck mit schreiben Rechenzeichen Vergleiche (<, >, etc.) und logische Operatoren (AND, OR, NOT ) wie in herkömmlichen Programmiersprachen.

Neben Vergleichsoperatoren und logischen Operatoren zum Erstellen von Bedingungen in SQL (aufgrund der Besonderheiten des Anwendungsgebiets) gibt es eine Reihe von Spezialoperatoren, die in der Regel keine Entsprechungen in anderen Sprachen haben. Das sind die Operatoren:

  • IN - Eintritt in einen bestimmten Satz von Werten;
  • ZWISCHEN - Eintritt in einen bestimmten Wertebereich;
  • LIKE - auf Übereinstimmung mit der Probe prüfen;
  • IS NULL - auf einen undefinierten Wert prüfen.

Der IN-Operator wird verwendet, um auf eine Reihe von Werten zu testen. Ja, Anfrage

liefert das gleiche Ergebnis wie die obige Abfrage (zeigt die Kennungen aller Bewerber an, die in den Prüfungen mindestens eine zwei oder drei erhalten haben).

Dasselbe Ergebnis kann mit dem BETWEEN-Operator erzielt werden:

Listen Sie alle Schüler auf, deren Nachnamen mit dem Buchstaben A beginnen.

In diesem Fall ist es praktisch, den LIKE-Operator zu verwenden.

Der LIKE-Operator gilt ausschließlich für Zeichenfelder und ermöglicht Ihnen festzustellen, ob der Wert eines Felds mit einem Muster übereinstimmt. Das Muster kann Sonderzeichen enthalten:

_ (Unterstrich) - ersetzt jedes einzelne Zeichen;

% (Prozentzeichen) - Ersetzt eine Folge von beliebig vielen Zeichen.

Sehr oft müssen die Mindest-, Höchst- oder Durchschnittswerte in Spalten berechnet werden. Beispielsweise möchten Sie vielleicht die durchschnittliche Punktzahl berechnen. Um solche Berechnungen durchzuführen, bietet SQL spezielle aggregierte Funktionen:

  • MIN ist der Mindestwert in der Spalte;
  • MAX - der maximale Wert in der Spalte;
  • SUM ist die Summe der Werte in der Spalte;
  • AVG ist der Durchschnittswert in der Spalte;
  • COUNT - die Anzahl der Nicht-NULL-Werte in der Spalte.

Die folgende Abfrage berechnet den Durchschnitt aller von Studenten in Prüfungen erzielten Ergebnisse.

SELECT AVG(mark) FROM mark_st

Natürlich können Sie verwenden aggregierte Funktionen zusammen mit der WHERE-Klausel:

Diese Abfrage berechnet den GPA des Studenten mit dem Code 100 aus allen bestandenen Prüfungen.

Diese Abfrage berechnet die durchschnittliche Punktzahl der Studenten basierend auf den Ergebnissen der bestandenen Prüfung mit Code 10. Zusätzlich zu den berücksichtigten Mechanismen