Startseite   |  Site map   |  A-Z artikel   |  Artikel einreichen   |   Kontakt   |  
  


informatik artikel (Interpretation und charakterisierung)

Select


1. Java
2. Viren


3.1. Syntax
/ Im Prinzip besteht das SELECT Statement aus sechs Komponenten

SELECT

FROM

WHERE

GROUP BY

HAVING
ORDER BY

Zwei Punkte sind äußerst wichtig und sollten immer vor Augen gehalten werden:

* Die Reihenfolge der Kompnenten ist fix vorgegben; eine GROUP BY Komponente darf nicht vor einer WHERE oder vor einer FROM Klausel stehen.

* Eine HAING-Komponente darf nur dann verwendet werden wenn eine GROUP BY Komponente verwendet wird.



FROM

definiert die Ausgangstabellen


WHERE
selektiert die Reihen, die der Bedingung genügen


GROUP BY
gruppiert Reihen auf Basis gleicher Werte in Spalten


HAVING
selektiert Gruppen, die der Bedingung genügen

SELECT

selektiert Spalten

ORDER BY
sortiert Reihen auf der Basis von Spalten


3.2. Verarbeitung einer SELECT ANWEISUNG

Ausgabe aller Kundennummer die 1993 mehr als einen Einkauf getätigt haben.

SELECT Kunden#
FROM Auftrag

WHERE DATUM > 01011993
GROUP BY Kunden#

HAVING COUNT(RE#) >1

ORDER BY Kunden#

3.2.1. FROM

In der FROM-Komponente wird nur die Tablle Auftrag genannt. Die bedeutet für SQL, daß mit der Tabelle AUFTRAG gearbeitet werden muß. Das Zwischenergebnis dieser Operation ist eine exakte Kopie der Tabelle AUFTRAG


Zwischenergebnis:
RE# Kunden# Datum status

1 1 1990-01-01 fa
2 1 1993-05-19 fa
3 3 1993-05-19 fa
4 2 1993-05.17 fa

5 3 1993-07-19 fa



3.2.2. WHERE

In der WHERE Komponente ist die Bedingung \'DATUM > 01011993\' angeben. Alle Reihen, in denen der Wert der Spalte DATUM größer als 01011993 ist, genügen dieser Bedingung. alle diese Reihen zusamen bilden das Zwischenergebnis der WHERE Komponente.

RE# Kunden# Datum status
2 1 1993-05-19 fa
3 3 1993-05-19 fa
4 2 1993-05.17 fa

5 3 1993-07-19 fa


3.2.3. GROUP BY

Die GROUP BY Komponennte gruppiert alle Reihen im Zwischenerbnis. Das Gruppieren erfolgt auf der Basis von Werten in der Spalte KUNDEN#. Reihen werden gruppiert wenn sie in der Betreffenden Spalte den gleichen Wert haben

Zwischenergbnis

RE# Kunden# Datum status
2 1 1993-05-19 fa
3,5 3 1993-05-19,1993-07-19 fa,fa
4 2 1993-05.17 fa



3.2.4. HAVING

Die vierte Komponente kann in gewissen Sinne mit der WHERE Komponente verglichen werden. Der Unterschied liegt darin, daß WHERE sich auf das Zwischenergbnis der FROM Komponete bezieht, während HAVING auf das gruppierte Zwischenergbnis der GROUP BY Komponente Bezug nimmt. Der Effekt ist jedoch der gleiche, auch in der HAVING-Komponente werden Reihen mit Hilfe einer Bedingung selektiert. In diesem Fall handelt es sich dabei um die Bedinung:

COUNT(RE#)>1

Das bedeutet: Alle Reihen, die mehr als eine Rechnungsnummer enthalten, genügen der Bedinung.

Zwischenerbnis:

RE# Kunden# Datum status
3,5 3 1993-05-19,1993-07-19 fa,fa



3.2.5. Select

In der SELECT Komponente wird angegeben welche Spalten im endgütigen Ergebnis wiedergeben werden müssen. Die Select-Kompontente wählt also die Spalten aus.

Kunden#

3

3.2.6. Order by

Hier wird am Inhalt des Zwischenerbnisses nichts mehr verändert. Die Ergbniszeilen werden lediglich noch in die angegeben Reihenfolge sortiert. Da aber Aufgrund der Beispieldaten nur eine Zeile überig bleibt, ist die Order by Komonente in diesem Fall belanglos


Die Where - Komponente

Die Where Komponente kann folgende Formen haben


* der einfache Vergleich
* Bedingungen mit AND, OR, oder NOT aneinanderkoppeln

* der BETWEEN - Operator
* der IN-Operator

* der LIKE Operator
* der NULL Operator
* der IN-Operator Unterabfrage (Subquery)
* der Vergleichsoperator mit Unterabfrage

Der einfache Vergleich

Ein einfacher Vergleich wird durch einen Ausdruck gebildet, auf den ein Operator und Wiederum ein Ausdruck folgt. Der Wert auf der linken Seite des Operators wird mit dem Ausdruck auf der rechten Seite verglichen. Vom Operator hängt es ab, ob die Bedingung WAHR, UNWAHR oder NULL ist

SQL kennt folgende Vergleichsopeatoren:

Vergleichsoperator Bedeutung

= gleich
< kleiner als

> größer als
= größer als oder gleich

nicht gleich

(Der Vergleichsoperator wird in einigen SQL-Implementierungen auch als -= oder != wiedergegeben.)

Beispiele

Gib die Kundennummer aller Kunden an, die in Perchtoldsdorf wohnen.

SELECT Kunden#

FROM Kunde
WHERE PLZ = 2380

Gib die Bezeichnung, den Preis, die Menge der einzelnen Artikel an wo der Lagerwert 1.000 S übersteigt


SELECT Bezeichnung, Preis, Bestand

FROM Artikel
WHERE Preis * Bestand > 1000

Bedingungen mit AND, OR, oder NOT aneinanderkoppeln

Eine WHERE - Komponente kann mehrere Bedingungen enthalten, wenn die Operatoren AND, OR und NOT verwendet werden.

Beispiele

Gib die Kundennummer aller Kunden an die in Wien wohnen oder deren Kundennummer kleiner 100 ist.

SELECT Kunden#

FROM Kunde
WHERE PLZ>=1010 AND PLZ1

Gib die Rechnungsnummen an, bei welchlen die größte menge die Eingekauft wurde 20 überstiegen hat.

SELECT re#
FROM pos
GROUP BY re#

HAVING max(Menge)>20;

Gib die Rechnungsnummern an, bei welchen die Summe der Menge die Gekauft wurde größer 100 war

SELECT re#
FROM pos
GROUP BY re#
HAVING SUM(MENGE)>100

Gib die Rechnungsnummern an, wo der durchschnitt der eingkauften ware kleiner 10 war

SELECT re#
FROM pos
GROUP BY re#
HAVING AVG(MENGE)

 
 

Datenschutz
Top Themen / Analyse
indicator Der CMOS-Prozess
indicator Fehler bei der Stringbehandlung
indicator Systemkomponenten
indicator FIREWALL GATEWAYS-
indicator Frequenzweichen
indicator Gateways
indicator Wire Pirates -
indicator Telematik und Internet - Nichts Neues?
indicator Die deutsche (Sonder-) Situation
indicator Weitere Kommunikationsprotokolle


Datenschutz
Zum selben thema
icon Netzwerk
icon Software
icon Entwicklung
icon Windows
icon Programm
icon Unix
icon Games
icon Sicherheit
icon Disk
icon Technologie
icon Bildung
icon Mp3
icon Cd
icon Suche
icon Grafik
icon Zahlung
icon Html
icon Internet
icon Hardware
icon Cpu
icon Firewall
icon Speicher
icon Mail
icon Banking
icon Video
icon Hacker
icon Design
icon Sprache
icon Dvd
icon Drucker
icon Elektronisches
icon Geschichte
icon Fehler
icon Website
icon Linux
icon Computer
A-Z informatik artikel:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #

Copyright © 2008 - : ARTIKEL32 | Alle rechte vorbehalten.
Vervielfältigung im Ganzen oder teilweise das Material auf dieser Website gegen das Urheberrecht und wird bestraft, nach dem Gesetz.
dsolution