www.PHP-Kurs.com

PHP lernen für Einsteiger
und Fortgeschrittene

PHP-Tutorial mit Videos

Sie befinden sich: Startseite » MySQL Tutorial - Datenbank unter PHP » MySQL-Anweisungen lernen - phpMyAdmin nutzen » SELECT - Varianten und Möglichkeiten

MySQL-SELECT-Anweisung – Varianten und Möglichkeiten

Aufbau der SELECT-Anweisung

Alle Angaben in [] sind optional.

MySQL-Anweisung: Grundlegender Aufbau
SELECT
    [rechenoperation|funktionsauswahl]
  spaltenname
  FROM tabelle
    [WHERE bedingungen]
    [GROUP BY spalten]
    [HAVING aggregatfunktionen]
    [ORDER BY spalte [ASC] [DESC]
    [LIMIT [Anfang][Zeilenanzahl]]

Auswahl aller Spalten der Tabelle testadressen

MySQL-Anweisung: Auswahl aller Spalten
SELECT
  *
FROM testadressen;

nur Ausgaben bestimmter Spalten

MySQL-Anweisung: Auswahl nur bestimmter Spalten
SELECT
  anrede, vorname, nachname
FROM testadressen;

Spaltenüberschriften festlegen

Spaltenüberschriften können umdefiniert werden. Dies geschieht über diesen Aufbau:

SELECT 
  `nachname` , 
  `vorname` , 
  geburtsdatum AS 'Geburtstag' 
FROM testadressen

Reihenfolge bestimmen

Sortieren nach Spalten

SELECT 
  `nachname` , `vorname` 
FROM testadressen
ORDER BY nachname

Sortieren nach 2 Spalten

SELECT
  `nachname` , `vorname` 
FROM testadressen
ORDER BY nachname, vorname

Sortierrichtung ändern (eine Spalte aufsteigend, zweite Spalte absteigend)

SELECT
  `nachname` , `vorname` 
FROM testadressen
ORDER BY nachname DESC , vorname

Bedingungen setzen – WHERE ...

SELECT 
  `nachname` , `vorname` 
FROM testadressen
WHERE vorname = 'Fischer'

Bedingungen verknüpfen (ODER)

SELECT 
  `nachname` , `vorname`, `anrede`, `familienstand`
FROM testadressen
WHERE anrede = 'Herr' OR familienstand= 'single'

Bedingungen verknüpfen (UND)

SELECT 
  `nachname` , `vorname`, `anrede`, `familienstand`
FROM testadressen
WHERE anrede = 'Frau' AND familienstand = 'single'

Bedingungen nach Vergleichsoperatoren

Operator Funktion
= gleich
<> oder != ungleich
< kleiner als
> größer als
<= kleiner gleich
>= größer gleich
Alle Personen mit Geburtstag vor 01.01.1940

SELECT 
  `nachname` , `vorname` , `anrede`, `familienstand`, `geburtsdatum`
FROM testadressen
WHERE geburtsdatum < '1940-01-01'

Alle Personen, deren Nachnamen vor C kommt

SELECT 
  `nachname` , `vorname` , `anrede` 
FROM testadressen
WHERE nachname < 'C'

WHERE-Bedingung mit Klammern – alle Personen mit der Lieblingsfarbe Schwarz ODER Geburtstag zwischen 01.01.1970 und 31.12.1970

SELECT 
  `nachname`, `vorname`, `anrede`, `geburtsdatum`, `lieblingsfarbe` 
FROM testadressen
WHERE `lieblingsfarbe` = 'schwarz'
OR (
    `geburtsdatum` >= '1970-01-01'
AND `geburtsdatum` <= '1970-12-31'
)

Aggregatsfunktionen

Können nur auf eine einzige Spalte angewendet werden.

MIN (Spalte) Minimum (Nummer, Zeichen, Datum)
MAX (Spalte) Maximum (Nummer, Zeichen, Datum)
COUNT(*) Anzahl (Nummer, Zeichen, Datum)
SUM (Spalte) Summe (Numerisch)
AVG (Spalte) Mittelwert (Numerisch) - (engl. average)

Durchschnitt vom Gehalt

SELECT 
  AVG( gehalt ) 
FROM testadressen

Anzahl von Datensätzen

SELECT 
  COUNT(*) 
FROM `testadressen`

Anzahl von Datensätzen der Singles

SELECT 
  COUNT(*) 
FROM `testadressen` 
WHERE `familienstand`='single'

Verdienst aller Singles und Anzahl der Singles

SELECT 
  COUNT(*), SUM(`gehalt`) 
FROM `testadressen` 
WHERE `familienstand` = 'single'

Datumsfunktionen

Alle Personen, die im Jahr 1969 geboren sind

SELECT 
  `nachname`, `vorname`, `anrede`, `geburtsdatum` 
FROM testadressen
WHERE YEAR( geburtsdatum ) = 1969

Alle Sonntags-Kinder

SELECT 
  `nachname` , `vorname` , `anrede` , `geburtsdatum` 
FROM testadressen
WHERE WEEKDAY( geburtsdatum ) = 6

Alle Oktober-Kinder

SELECT
  `nachname` , `vorname` , `anrede` , `geburtsdatum` 
FROM testadressen
WHERE MONTH( geburtsdatum ) = 10

Alle Personen, die zwischen 1969 und 1972 geboren wurden

SELECT 
  `nachname` , `vorname` , `anrede` , `geburtsdatum` 
FROM testadressen
WHERE YEAR( geburtsdatum ) >= 1969
  AND YEAR( geburtsdatum ) <= 1972

Gelebte Tage seit Geburtstag bis zum 30.7.2007

SELECT 
  `nachname` , `vorname` , 
  TO_DAYS( '2007-07-30' ) - TO_DAYS( geburtsdatum ) 
FROM testadressen

Gelebte Tage seit Geburtstag bis zum heutigen Tag mit geänderten Spaltenüberschrift.
(heutiger Tag = engl. current date (CurDate))

SELECT 
  `nachname` , 
  `vorname` , 
  TO_DAYS(CurDate()) - TO_DAYS( geburtsdatum ) AS 'gelebte Tage bis heute' 
FROM testadressen

Datumsfunktionen

Funktion Ergebnis
WEEKDAY(datum) 0-6 (Montag bis Sonntag)
DAYofWEEK (datum) 1-7 (Sonntag bis Samstag)
DAYNAME (datum) Sunday-Saturday
WEEK (datum) Kalenderwoche (Wochenbeginn Sonntag)
WEEK (datum, 1) Kalenderwoche (Wochenbeginn Montag)
WEEK (datum, 2) Kalenderwoche (Wochenbeginn Dienstag)
DAYOFMONTH (datum) Tageswert des Monats
MONTH (datum) Monatswert des Datums
DAYOFYEAR (datum) Tag des Datums ab dem 1.1.
QUARTER (datum) Quartal des Datums (1 bis 4)
YEAR (datum) Jahr des Datums

Dies und das

Inhaltlich gleiche Werte ausschließen (jeden Wert nur einmal)

SELECT 
  DISTINCT `lieblingsfarbe` 
FROM testadressen

Wenn Sie einen Fehler finden, bitte mitteilen (egal ob Schreibfehler oder inhaltlicher Fehler).

Mit Maus fehlerhafte Stelle markieren und übernehmen mit folgendem Button:



(kann angegeben werden)

Nach Absenden kommt hier Feedback! Bitte nicht doppelt absenden. Danke.

Bitte unterstützen Sie dieses Projekt

Sie können dieses Projekt in verschiedenen Formen unterstützen - wir würden uns freuen und es würde uns für weitere Inhalte motivieren :).

unsere Videos bestellen

Unsere Videos und eBooks bestellen.

Spenden

Sie können uns eine Spende über PayPal zukommen lassen.

Weiterempfehlungen

Empfehlen Sie es weiter - wir freuen uns immer über Links und Facebook-Empfehlungen.

Bücher über Amazon

Bestellen Sie Bücher über folgende Links bei Amazon:

Fehler melden

Vielen Dank für Ihre Hilfe