Verileri Filtreleme ve Sıralama

Java ile PostgreSQL Veritabanına Sorgu Yazma

Miller Trujillo

Staff Software Engineer

Neden filtreleme ve sıralama?

  • Çoğu uygulama tüm kayıtları göstermez
  • Sonuçları daraltmak gerekir
  • Verileri anlamlı şekilde düzenleyin
  • Yönetilebilir parçalar gösterin

$$

$$

$$

$$

  • WHERE, ORDER BY, LIMIT, OFFSET

Çevrimiçi bir kitapçı

Java ile PostgreSQL Veritabanına Sorgu Yazma

WHERE ile Filtreleme

String sql = "SELECT * FROM books WHERE publication_year > ?";
PreparedStatement pstmt = conn.prepareStatement(sql);

pstmt.setInt(1, 2000); ResultSet rs = pstmt.executeQuery();
  • ? yer tutucusunu kullanın ve setInt() ile bağlayın
  • Java kodu aynı kalır, sadece SQL değişir
Java ile PostgreSQL Veritabanına Sorgu Yazma

Java'da filtreleme yapabilir miyiz?

  • Veritabanı seviyesinde filtreleme:
    • Aktarılan veriyi azaltır ✅
    • Ağ tıkanıklığını önler ✅
    • Daha iyi performans sağlar ✅
  • İstisna: karmaşık mantık (harici API'ler, AI modelleri) 💡

Yemek siparişi analojisi

Java ile PostgreSQL Veritabanına Sorgu Yazma

ORDER BY ile Sıralama

String sql = "SELECT title, publication_year FROM books
WHERE category_id = ? ORDER BY publication_year DESC";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, 3);
ResultSet rs = pstmt.executeQuery();
// Dinamik davranış ekleme
boolean desc = true;
String sql = "SELECT title, publication_year FROM books
WHERE category_id = ? ORDER BY publication_year ";

sql += desc ? "DESC" : "ASC";
  • += SQL metnine metin ekler
  • ?: - üçlü operatör (kısa if-else)
Java ile PostgreSQL Veritabanına Sorgu Yazma

LIMIT ve OFFSET ile Sayfalama

  • LIMIT kaç satır döneceğini kontrol eder
  • OFFSET sonuçları döndürmeden önce satırları atlar
  • ORDER BY sayfalar arasında tutarlı sonuçlar sağlar
String sql = "SELECT title FROM books ORDER BY title ASC LIMIT ? OFFSET ?";
PreparedStatement pstmt = conn.prepareStatement(sql);

pstmt.setInt(1, 10); // LIMIT: sayfa başına 10 kitap pstmt.setInt(2, 20); // OFFSET: ilk 20 satırı atla ResultSet rs = pstmt.executeQuery();
Java ile PostgreSQL Veritabanına Sorgu Yazma

Haydi pratik yapalım!

Java ile PostgreSQL Veritabanına Sorgu Yazma

Preparing Video For Download...