Direkt zum Inhalt

BPE 6 · J1

Zeilen mit Bedingungen auswählen

Du übersetzt fachliche Anforderungen in genaue Filter und prüfst bewusst Grenzen, Alternativen, Textmuster und fehlende Werte.

Bildungsplanbezug: BPE 6.4 · interne Lerneinheit 6.2.3

Geschätzte Lernzeit: 55 Minuten

Noch nicht begonnen

Das kannst du danach

  • Vergleiche und inklusive Intervalle formulieren
  • AND, OR und NOT mit Klammern verknüpfen
  • IN und LIKE für Mengen und Muster nutzen
  • fehlende Werte mit IS NULL erkennen

Verständlich erklärt

WHERE übernimmt nur Zeilen, deren Bedingung wahr ist. AND verlangt alle Teilbedingungen, OR mindestens eine; NOT kehrt den Wahrheitswert um. Nutze Klammern für die beabsichtigte Verknüpfung. BETWEEN schließt beide Grenzen ein. IN prüft Mitgliedschaft in einer Werteliste. LIKE verwendet % für beliebig viele und _ für genau ein Zeichen. Ein fehlender Wert ist weder 0 noch leerer Text: Teste ihn mit IS NULL oder IS NOT NULL. Normale Vergleiche mit NULL sind unbekannt und werden von WHERE nicht als wahr ausgewählt.

  • WHERE
  • AND
  • OR
  • NOT
  • BETWEEN
  • IN
  • LIKE
  • IS NULL

Beispiel

SELECT titel FROM medium
WHERE (standort IN ('A1', 'B2') OR standort IS NULL)
  AND titel LIKE 'D%';

Typische Fehler

  • Mit = NULL nach fehlenden Werten suchen
  • Bei AND und OR die Klammerung vergessen
  • Die Grenzwerte bei BETWEEN ausschließen
  • Den Monat prüfen, aber das Jahr übersehen

Kurz zusammengefasst

Formuliere zuerst die fachliche Bedingung, übersetze ihre Teile und prüfe dann Grenzfälle und NULL. WHERE filtert einzelne Zeilen vor späteren Gruppierungen.

Abi-Bezug

Begründe bei einer Selektion, warum Grenzwerte enthalten oder ausgeschlossen sind. Trenne fehlende Informationen ausdrücklich von bekannten Zahlenwerten.

Jetzt selbst ausprobieren

Prüfe deine Lösung automatisch. Bei Bedarf helfen dir ein Tipp und anschließend die Musterlösung.

BPE 6J11 Punkteleicht

Der Bestand reicht für fünf Personen

Noch nicht begonnen

Aufgabenstellung

Gib Bezeichnung und Bestand aller Artikel mit mindestens fünf verfügbaren Stück aus.

Ergebnisspalten in dieser Reihenfolge: bezeichnung, bestand. Die Zeilenreihenfolge ist hier beliebig. Gib genau diese eine Ergebnistabelle aus.

Datenbankschema und vollständige Startdaten anzeigen

Fiktive Übungsdaten. Jeder Test startet neu mit genau diesen Daten. NULL bedeutet: kein Wert gespeichert. Preise und Beträge sind ganze Euro; das Datum hat das Format JJJJ-MM-TT.

CREATE TABLE artikel (id INTEGER PRIMARY KEY, bezeichnung TEXT NOT NULL, kategorie TEXT NOT NULL, preis INTEGER NOT NULL, bestand INTEGER NOT NULL, lieferant_id INTEGER);
Startdaten: artikel
idbezeichnungkategoriepreisbestandlieferant_id
1Heft A5Papier2121
2Block A4Papier401
3FinelinerStifte382
4BleistiftStifte1202
5OrdnerAblage551
6MappeAblage30NULL
7MarkerStifte35NULL

Ausgabe bzw. Vorschau

Noch nicht ausgeführt.
2 Tipps anzeigen
  1. Mindestens fünf schließt genau fünf ein.
  2. Die Bedingung betrifft bestand, nicht den Preis.
Lösung anzeigen
SELECT bezeichnung, bestand FROM artikel WHERE bestand >= 5;
BPE 6J11 Punkteleicht

Ein Preisintervall mit Randwerten

Noch nicht begonnen

Aufgabenstellung

Gib Bezeichnung und Preis für Artikel von 2 bis einschließlich 3 Euro aus. Verwende ein inklusives Intervall.

Ergebnisspalten in dieser Reihenfolge: bezeichnung, preis. Die Zeilenreihenfolge ist hier beliebig. Gib genau diese eine Ergebnistabelle aus.

Datenbankschema und vollständige Startdaten anzeigen

Fiktive Übungsdaten. Jeder Test startet neu mit genau diesen Daten. NULL bedeutet: kein Wert gespeichert. Preise und Beträge sind ganze Euro; das Datum hat das Format JJJJ-MM-TT.

CREATE TABLE artikel (id INTEGER PRIMARY KEY, bezeichnung TEXT NOT NULL, kategorie TEXT NOT NULL, preis INTEGER NOT NULL, bestand INTEGER NOT NULL, lieferant_id INTEGER);
Startdaten: artikel
idbezeichnungkategoriepreisbestandlieferant_id
1Heft A5Papier2121
2Block A4Papier401
3FinelinerStifte382
4BleistiftStifte1202
5OrdnerAblage551
6MappeAblage30NULL
7MarkerStifte35NULL

Ausgabe bzw. Vorschau

Noch nicht ausgeführt.
2 Tipps anzeigen
  1. BETWEEN untergrenze AND obergrenze schließt beide Grenzen ein.
  2. Auch die Artikel für genau 2 und genau 3 Euro sind gesucht.
Lösung anzeigen
SELECT bezeichnung, preis FROM artikel WHERE preis BETWEEN 2 AND 3;
BPE 6J12 Punktemittel

Zwei gewünschte Kategorien

Noch nicht begonnen

Aufgabenstellung

Gib Bezeichnung und Kategorie aller Artikel aus den Kategorien Papier oder Ablage aus. Eine Werteliste mit IN bietet sich an.

Ergebnisspalten in dieser Reihenfolge: bezeichnung, kategorie. Die Zeilenreihenfolge ist hier beliebig. Gib genau diese eine Ergebnistabelle aus.

Datenbankschema und vollständige Startdaten anzeigen

Fiktive Übungsdaten. Jeder Test startet neu mit genau diesen Daten. NULL bedeutet: kein Wert gespeichert. Preise und Beträge sind ganze Euro; das Datum hat das Format JJJJ-MM-TT.

CREATE TABLE artikel (id INTEGER PRIMARY KEY, bezeichnung TEXT NOT NULL, kategorie TEXT NOT NULL, preis INTEGER NOT NULL, bestand INTEGER NOT NULL, lieferant_id INTEGER);
Startdaten: artikel
idbezeichnungkategoriepreisbestandlieferant_id
1Heft A5Papier2121
2Block A4Papier401
3FinelinerStifte382
4BleistiftStifte1202
5OrdnerAblage551
6MappeAblage30NULL
7MarkerStifte35NULL

Ausgabe bzw. Vorschau

Noch nicht ausgeführt.
2 Tipps anzeigen
  1. IN vergleicht einen Wert mit einer geklammerten Liste möglicher Werte.
  2. Textwerte wie Papier müssen in einfachen Anführungszeichen stehen.
Lösung anzeigen
SELECT bezeichnung, kategorie FROM artikel WHERE kategorie IN ('Papier', 'Ablage');
BPE 6J12 Punktemittel

Bezeichnungen mit M am Anfang

Noch nicht begonnen

Aufgabenstellung

Gib die Bezeichnungen aller Artikel aus, deren Bezeichnung mit M beginnt.

Ergebnisspalten in dieser Reihenfolge: bezeichnung. Die Zeilenreihenfolge ist hier beliebig. Gib genau diese eine Ergebnistabelle aus.

Datenbankschema und vollständige Startdaten anzeigen

Fiktive Übungsdaten. Jeder Test startet neu mit genau diesen Daten. NULL bedeutet: kein Wert gespeichert. Preise und Beträge sind ganze Euro; das Datum hat das Format JJJJ-MM-TT.

CREATE TABLE artikel (id INTEGER PRIMARY KEY, bezeichnung TEXT NOT NULL, kategorie TEXT NOT NULL, preis INTEGER NOT NULL, bestand INTEGER NOT NULL, lieferant_id INTEGER);
Startdaten: artikel
idbezeichnungkategoriepreisbestandlieferant_id
1Heft A5Papier2121
2Block A4Papier401
3FinelinerStifte382
4BleistiftStifte1202
5OrdnerAblage551
6MappeAblage30NULL
7MarkerStifte35NULL

Ausgabe bzw. Vorschau

Noch nicht ausgeführt.
2 Tipps anzeigen
  1. LIKE prüft ein Muster, = würde den vollständigen Text vergleichen.
  2. Das Prozentzeichen erlaubt hinter M beliebig viele weitere Zeichen.
Lösung anzeigen
SELECT bezeichnung FROM artikel WHERE bezeichnung LIKE 'M%';
BPE 6J12 Punktemittel

Verfügbare Papierartikel oder Stifte

Noch nicht begonnen

Aufgabenstellung

Gib Bezeichnung und Bestand aus. Ein Artikel muss zur Kategorie Papier oder Stifte gehören und zugleich einen Bestand größer als 0 haben.

Ergebnisspalten in dieser Reihenfolge: bezeichnung, bestand. Die Zeilenreihenfolge ist hier beliebig. Gib genau diese eine Ergebnistabelle aus.

Datenbankschema und vollständige Startdaten anzeigen

Fiktive Übungsdaten. Jeder Test startet neu mit genau diesen Daten. NULL bedeutet: kein Wert gespeichert. Preise und Beträge sind ganze Euro; das Datum hat das Format JJJJ-MM-TT.

CREATE TABLE artikel (id INTEGER PRIMARY KEY, bezeichnung TEXT NOT NULL, kategorie TEXT NOT NULL, preis INTEGER NOT NULL, bestand INTEGER NOT NULL, lieferant_id INTEGER);
Startdaten: artikel
idbezeichnungkategoriepreisbestandlieferant_id
1Heft A5Papier2121
2Block A4Papier401
3FinelinerStifte382
4BleistiftStifte1202
5OrdnerAblage551
6MappeAblage30NULL
7MarkerStifte35NULL

Ausgabe bzw. Vorschau

Noch nicht ausgeführt.
2 Tipps anzeigen
  1. Fasse die beiden erlaubten Kategorien mit Klammern zusammen.
  2. Der positive Bestand gilt für Papier genauso wie für Stifte.
Lösung anzeigen
SELECT bezeichnung, bestand FROM artikel WHERE (kategorie = 'Papier' OR kategorie = 'Stifte') AND bestand > 0;
BPE 6J12 Punktemittel

Nicht aus der Stiftegruppe und ausverkauft

Noch nicht begonnen

Aufgabenstellung

Gib Bezeichnung und Kategorie der ausverkauften Artikel aus, die nicht zur Kategorie Stifte gehören.

Ergebnisspalten in dieser Reihenfolge: bezeichnung, kategorie. Die Zeilenreihenfolge ist hier beliebig. Gib genau diese eine Ergebnistabelle aus.

Datenbankschema und vollständige Startdaten anzeigen

Fiktive Übungsdaten. Jeder Test startet neu mit genau diesen Daten. NULL bedeutet: kein Wert gespeichert. Preise und Beträge sind ganze Euro; das Datum hat das Format JJJJ-MM-TT.

CREATE TABLE artikel (id INTEGER PRIMARY KEY, bezeichnung TEXT NOT NULL, kategorie TEXT NOT NULL, preis INTEGER NOT NULL, bestand INTEGER NOT NULL, lieferant_id INTEGER);
Startdaten: artikel
idbezeichnungkategoriepreisbestandlieferant_id
1Heft A5Papier2121
2Block A4Papier401
3FinelinerStifte382
4BleistiftStifte1202
5OrdnerAblage551
6MappeAblage30NULL
7MarkerStifte35NULL

Ausgabe bzw. Vorschau

Noch nicht ausgeführt.
2 Tipps anzeigen
  1. NOT negiert hier die Zugehörigkeit zur Stiftegruppe.
  2. Ausverkauft bedeutet genau Bestand 0 und ist eine zusätzliche AND-Bedingung.
Lösung anzeigen
SELECT bezeichnung, kategorie FROM artikel WHERE NOT (kategorie = 'Stifte') AND bestand = 0;
BPE 6J13 Punkteanspruchsvoll

Fehlende Lieferantenzuordnung finden

Noch nicht begonnen

Aufgabenstellung

Gib die ID und Bezeichnung aller Artikel aus, deren Lieferant noch nicht zugeordnet ist.

Ergebnisspalten in dieser Reihenfolge: id, bezeichnung. Die Zeilenreihenfolge ist hier beliebig. Gib genau diese eine Ergebnistabelle aus.

Datenbankschema und vollständige Startdaten anzeigen

Fiktive Übungsdaten. Jeder Test startet neu mit genau diesen Daten. NULL bedeutet: kein Wert gespeichert. Preise und Beträge sind ganze Euro; das Datum hat das Format JJJJ-MM-TT.

CREATE TABLE artikel (id INTEGER PRIMARY KEY, bezeichnung TEXT NOT NULL, kategorie TEXT NOT NULL, preis INTEGER NOT NULL, bestand INTEGER NOT NULL, lieferant_id INTEGER);
Startdaten: artikel
idbezeichnungkategoriepreisbestandlieferant_id
1Heft A5Papier2121
2Block A4Papier401
3FinelinerStifte382
4BleistiftStifte1202
5OrdnerAblage551
6MappeAblage30NULL
7MarkerStifte35NULL

Ausgabe bzw. Vorschau

Noch nicht ausgeführt.
2 Tipps anzeigen
  1. Fehlende Information steht in diesen Daten als NULL.
  2. Verwende IS NULL statt eines Gleichheitsvergleichs.
Lösung anzeigen
SELECT id, bezeichnung FROM artikel WHERE lieferant_id IS NULL;
BPE 6J13 Punkteanspruchsvoll

Nur Bestellungen aus März 2026

Noch nicht begonnen

Aufgabenstellung

Gib ID und Datum aller Bestellungen aus März 2026 aus, aufsteigend nach ID. Jahr und Monat müssen beide passen. SQLite nutzt dafür strftime('%Y', datum) und strftime('%m', datum); diese liefern Text.

Ergebnisspalten in dieser Reihenfolge: id, datum. Die angegebene Zeilensortierung wird geprüft. Gib genau diese eine Ergebnistabelle aus.

Datenbankschema und vollständige Startdaten anzeigen

Fiktive Übungsdaten. Jeder Test startet neu mit genau diesen Daten. NULL bedeutet: kein Wert gespeichert. Preise und Beträge sind ganze Euro; das Datum hat das Format JJJJ-MM-TT.

CREATE TABLE bestellung (id INTEGER PRIMARY KEY, region TEXT NOT NULL, status TEXT NOT NULL, betrag INTEGER NOT NULL, datum TEXT NOT NULL);
Startdaten: bestellung
idregionstatusbetragdatum
1Nordbezahlt402026-03-01
2Nordoffen202026-03-10
3Suedbezahlt302026-03-12
4Suedbezahlt702026-04-01
5Weststorniert502026-03-20
6Westbezahlt102025-03-15
7Nordbezahlt602026-04-15
8Ostoffen202026-03-31

Ausgabe bzw. Vorschau

Noch nicht ausgeführt.
2 Tipps anzeigen
  1. Die Monatsprüfung allein würde auch März 2025 auswählen.
  2. Verknüpfe die Textvergleiche mit AND; der Monat ist zweistellig als 03 gespeichert.
Lösung anzeigen
SELECT id, datum FROM bestellung WHERE strftime('%Y', datum) = '2026' AND strftime('%m', datum) = '03' ORDER BY id;

Lektionsabschluss

Bearbeite Aufgaben, um deine Auswertung zu sehen.