Kapitel 10. Bedingte Logik

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

In bestimmten Situationen möchtest du vielleicht, dass sich deine SQL-Anweisung abhängig von den Werten bestimmter Spalten oder Ausdrücke unterschiedlich verhält, was als bedingte Logik bezeichnet wird. Der Mechanismus für bedingte Logik in SQL-Anweisungen ist der case Ausdruck, der in insert, update und delete Anweisungen sowie in jeder Klausel einer select Anweisung verwendet werden kann.

Was ist bedingte Logik?

Bedingte Logik ist der Prozess, durch den einer von mehreren Wegen eingeschlagen werden kann. Das Auftragseingabesystem eines Unternehmens kann z. B. eine Logik enthalten, die festlegt, dass ein Rabatt von 10 % gewährt wird, wenn die Bestellungen dieses Kunden im Vorjahr einen bestimmten Wert überschritten haben. Wenn du Programme mit einer Sprache wie Python oder Java geschrieben hast, bist du es gewohnt, if...then...else Anweisungen zu verwenden, aber die Sprache SQL verwendet case Ausdrücke für bedingte Logik. Der case Ausdruck funktioniert wie eine kaskadierende if-then-else-Anweisung und wertet eine Reihe von Bedingungen nacheinander aus. Hier ist ein einfaches Beispiel:

PUBLIC>select c_custkey, c_name, c_acctbal,
         case
           when c_acctbal < 0 then 'generate refund'
           when c_acctbal = 0 then 'no action'
           else 'send bill'
         end as month_end_action        from customer      ...

Get Snowflake SQL und Skripting lernen now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.