SQL erweitert
This commit is contained in:
@@ -605,6 +605,54 @@ Erstellen Sie eine Abfrage, die Folgendes berechnet:
|
||||
|
||||
Versuchen Sie, Klammern angemessen zu verwenden, um sicherzustellen, dass die Berechnungen in der richtigen Reihenfolge durchgeführt werden!
|
||||
|
||||
select (price * quantity + 15) as total_value, (price * quantity * 0.8 + 10) as discounted_value from products
|
||||
|
||||
|
||||
## The Modulo Operation
|
||||
|
||||
Der Modulo-Operator % gibt den Rest an, der nach der Division einer Zahl durch eine andere übrig bleibt.
|
||||
|
||||
dividend % divisor
|
||||
dividend: Die Zahl, die geteilt wird.
|
||||
divisor: Die Zahl, durch die der Dividend geteilt wird.
|
||||
Zum Beispiel
|
||||
|
||||
10 % 3
|
||||
Hier wird 10 durch 3 geteilt. Die 3 passt dreimal in die 10, mit einem Rest von 1. Daher wird result 1 sein.
|
||||
|
||||
Normalerweise wird Modulo verwendet, um zu prüfen, ob eine Zahl gerade oder ungerade ist:
|
||||
|
||||
Wenn eine Zahl gerade ist, lässt die Division durch 2 einen Rest von 0.
|
||||
Wenn eine Zahl ungerade ist, lässt die Division durch 2 einen Rest von 1.
|
||||
Finden Sie zum Beispiel Zeilen mit geraden Nummern:
|
||||
|
||||
SELECT * FROM table WHERE id % 2 = 0;
|
||||
Oder zum Durchlaufen von Werten:
|
||||
|
||||
number % 12 (gibt 0-11 zurück)
|
||||
number % 8 (gibt 0-7 zurück)
|
||||
Gruppieren Sie zum Beispiel Elemente in 5er-Gruppen:
|
||||
|
||||
SELECT item_number % 5 as group_number FROM inventory;
|
||||
|
||||
|
||||
Welche Abfrage wählt nur ungerade Zeilen aus?
|
||||
SELECT * FROM users WHERE id % 2 = 1;
|
||||
|
||||
Vervollständigen Sie die Abfrage, um Produkte in 4er-Gruppen zu gruppieren:
|
||||
|
||||
SELECT product_id % 4 as group_num FROM products; -- hier wurde nur % hinzugefügt
|
||||
|
||||
|
||||
Welchen Wertebereich kann number % 7 zurückgeben?
|
||||
|
||||
0 through 6
|
||||
|
||||
Der Rest bei der Division durch 7 ist immer kleiner als 7 und reicht von 0 bis 6.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#####################################################
|
||||
|
||||
|
||||
Reference in New Issue
Block a user