Menu
Coddy logo textTech

The Modulo Operation

Coddy'nin SQL Journey'sinin Temeller bölümünün bir parçası — ders 25 / 72.

Modulo operatörü %, bir sayıyı diğerine böldükten sonra geriye ne kaldığını söyler.

dividend % divisor
  • dividend: Bölünen sayı.
  • divisor: Bölüneni bölen sayı.

Örneğin

10 % 3

Burada, 10 sayısı 3'e bölünür. 3, 10'un içinde üç kez vardır ve kalan 1'dir. Bu nedenle, result 1 olacaktır.

Genellikle modül (modulo), bir sayının çift mi yoksa tek mi olduğunu kontrol etmek için kullanılır:

  • Eğer bir sayı çiftse, 2'ye bölündüğünde 0 kalanını verir.
  • Eğer bir sayı tekse, 2'ye bölündüğünde 1 kalanını verir.

Örneğin çift numaralı satırları bulun:

SELECT * FROM table WHERE id % 2 = 0;

Veya değerler arasında döngü oluşturmak için:

  • number % 12 (0-11 döndürür)
  • number % 8 (0-7 döndürür)

Örneğin, öğeleri 5'erli gruplara ayırın:

SELECT item_number % 5 as group_number FROM inventory;
challenge icon

Görev

Kolay

Mevcut tablolar ve sütunlar:

  • <strong>products</strong>: <strong>id</strong>, <strong>price</strong>, quantity

Şu işlemleri gerçekleştiren bir sorgu oluşturun:

  1. Ürün ID'sini gösteren
  2. Her ürünü, ürün ID'sine göre mod operatörünü kullanarak üç kalite kontrol ekibinden birine (0, 1 veya 2) atayan; bu sütunu quality_control olarak adlandırın
  3. Yalnızca quantity sütununun tek bir sayı içerdiği ürünleri dahil eden (örneğin, 1, 3, 5, 7...)

Kopya kağıdı

Modulo operatörü % bölme işleminden kalan sonucu döndürür:

dividend % divisor

Yaygın kullanım alanları:

  • Tek/çift kontrolü: number % 2 = 0 (çift) veya number % 2 = 1 (tek)
  • Değerler arasında döngü oluşturma: number % 12 0-11 arası değer döndürür
  • Öğeleri gruplandırma: item_number % 5 0-4 arası gruplar oluşturur

Örnekler:

-- Çift numaralı satırları bul
SELECT * FROM table WHERE id % 2 = 0;

-- Öğeleri 5'li setler halinde gruplandır
SELECT item_number % 5 as group_number FROM inventory;

Kendin dene

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler