SQLite - AND & OR Clauses

Hai, para entusiastik basisdata yang sedang berkembang! Hari ini, kita akan masuk ke dunia SQLite dan eksplorasi dua operator yang kuat yang akan membantu Anda membuat permintaan basisdata yang lebih kompleks dan presisi: klausa AND dan OR. Sebagai guru komputer tetangga yang ramah, saya sangat antusias untuk mengarahkan Anda dalam perjalanan ini. Jadi, ambil papan cat virtual Anda, dan mari kita mulai!

SQLite - AND & OR Clauses

Operator AND

Bayangkan Anda sedang mengatur pustaka besar buku. Anda ingin menemukan semua buku yang ditulis oleh J.K. Rowling DAN diterbitkan setelah tahun 2000. Itu tempat operator AND berguna!

Apa Itu Operator AND?

Operator AND memungkinkan Anda untuk menggabungkan beberapa kondisi dalam permintaan SQL Anda. Untuk sebuah baris untuk dimasukkan ke dalam himpunan hasil, SEMUA kondisi yang digabungkan oleh AND harus benar.

Sintaks

SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;

Contoh

Mari kita buat tabel "books" sederhana untuk bekerja dengannya:

CREATE TABLE books (
id INTEGER PRIMARY KEY,
title TEXT,
author TEXT,
publication_year INTEGER,
genre TEXT
);

INSERT INTO books (title, author, publication_year, genre)
VALUES
('Harry Potter and the Goblet of Fire', 'J.K. Rowling', 2000, 'Fantasy'),
('The Da Vinci Code', 'Dan Brown', 2003, 'Thriller'),
('To Kill a Mockingbird', 'Harper Lee', 1960, 'Classic'),
('1984', 'George Orwell', 1949, 'Dystopian'),
('The Hunger Games', 'Suzanne Collins', 2008, 'Young Adult');

Sekarang, mari kita gunakan operator AND untuk menemukan semua buku fiksi ilmiah yang diterbitkan setelah 2000:

SELECT title, author, publication_year
FROM books
WHERE genre = 'Fantasy' AND publication_year > 2000;

Permintaan ini akan mengembalikan:

title                               | author      | publication_year
------------------------------------------------------------
Harry Potter and the Goblet of Fire | J.K. Rowling | 2000

Penjelasan: Permintaan ini memilih hanya buku yang memenuhi kedua kondisi: genre adalah 'Fantasy' DAN tahun penerbitan lebih besar dari 2000.

Mari coba contoh lain. Kita akan menemukan semua buku yang ditulis oleh J.K. Rowling dan diterbitkan pada tahun 2000:

SELECT title, author, publication_year
FROM books
WHERE author = 'J.K. Rowling' AND publication_year = 2000;

Permintaan ini akan mengembalikan hasil yang sama seperti sebelumnya karena itu adalah satu-satunya buku di tabel kita yang memenuhi kedua kondisi.

Tips Pro

Anda dapat menggunakan banyak operator AND dalam satu permintaan. Misalnya:

SELECT title, author, publication_year, genre
FROM books
WHERE author = 'J.K. Rowling' AND publication_year = 2000 AND genre = 'Fantasy';

Permintaan ini menambahkan satu kondisi lagi ke contoh sebelumnya.

Operator OR

Sekarang, katakanlah Anda dalam suasana untuk buku fiksi ilmiah ATAU thriller. Itu tempat operator OR datang ke penyelamatan!

Apa Itu Operator OR?

Operator OR memungkinkan Anda untuk menggabungkan beberapa kondisi dalam permintaan SQL Anda. Untuk sebuah baris untuk dimasukkan ke dalam himpunan hasil, setidaknya SATU dari kondisi yang digabungkan oleh OR harus benar.

Sintaks

SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;

Contoh

Menggunakan tabel "books" sebelumnya, mari kita menemukan semua buku yang berjenis Fantasy ATAU diterbitkan setelah 2005:

SELECT title, author, publication_year, genre
FROM books
WHERE genre = 'Fantasy' OR publication_year > 2005;

Permintaan ini akan mengembalikan:

title                               | author           | publication_year | genre
----------------------------------------------------------------------------------
Harry Potter and the Goblet of Fire | J.K. Rowling     | 2000             | Fantasy
The Hunger Games                    | Suzanne Collins | 2008             | Young Adult

Penjelasan: Permintaan ini memilih buku yang memenuhi salah satu dari kondisi: genre adalah 'Fantasy' ATAU tahun penerbitan lebih besar dari 2005.

Mari coba contoh lain. Kita akan menemukan semua buku yang ditulis oleh J.K. Rowling ATAU Dan Brown:

SELECT title, author, publication_year, genre
FROM books
WHERE author = 'J.K. Rowling' OR author = 'Dan Brown';

Permintaan ini akan mengembalikan:

title                               | author       | publication_year | genre
----------------------------------------------------------------------------------
Harry Potter and the Goblet of Fire | J.K. Rowling | 2000             | Fantasy
The Da Vinci Code                   | Dan Brown    | 2003             | Thriller

Menggabungkan AND dan OR

Disini tempat hal menjadi sangat menarik! Anda dapat menggabungkan operator AND dan OR dalam satu permintaan. Tetapi hati-hati – urutan penting!

Mari kita temukan semua buku Fantasy ATAU buku diterbitkan setelah 2005 yang bukan jenis Young Adult:

SELECT title, author, publication_year, genre
FROM books
WHERE (genre = 'Fantasy' OR publication_year > 2005) AND genre != 'Young Adult';

Permintaan ini akan mengembalikan:

title                               | author       | publication_year | genre
----------------------------------------------------------------------------------
Harry Potter and the Goblet of Fire | J.K. Rowling | 2000             | Fantasy

Penjelasan: Penyaringan ini sangat penting. Mereka memastikan bahwa kondisi OR dievaluasi terlebih dahulu, dan kemudian hasilnya digabungkan dengan AND.

Tips Pro

Saat menggabungkan AND dan OR, selalu gunakan parentheses untuk menjelaskan kehendak Anda. Itu membantu baik Anda maupun SQLite memahami logika permintaan Anda.

Ringkasan

Berikut adalah tabel rujukan cepat operator AND dan OR:

Operator Deskripsi Contoh
AND Mengembalikan benar jika semua kondisi benar WHERE condition1 AND condition2
OR Mengembalikan benar jika setidaknya satu kondisi benar WHERE condition1 OR condition2

Ingat, operator AND seperti seorang perpustakaawan ketat yang hanya memberikan Anda buku jika Anda memenuhi SEMUA kriteria. Operator OR lebih seperti seorang teman yang ramah yang senang jika Anda memenuhi SETIAPSAAT dari kondisi.

Praktik menggunakan operator ini, dan segera Anda akan membuat permintaan kompleks seperti seorang pro! Selamat berquery, para ahli basisdata masa depan!

Credits: Image by storyset