Kursus
Dalam dunia SQL, memahami operator perbandingan sangat penting untuk manipulasi dan analisis data. Di antara operator-operator ini, NOT EQUAL (<> atau !=) berperan penting dalam memfilter data yang tidak memenuhi kriteria tertentu. Tutorial ini bertujuan untuk menjelaskan operator NOT EQUAL, membimbing pemula melalui pentingnya, penerapan, dan nuansanya untuk melakukan kueri SQL yang efisien.
Pengantar Operator Perbandingan
Operator perbandingan adalah fondasi dalam SQL, memungkinkan evaluasi data terhadap kondisi tertentu. Ini mencakup operator untuk kesetaraan (=), ketidaksamaan (<>, !=), lebih besar dari (>), dan lebih kecil dari (<), dan lain-lain. Perlu dicatat, SQL menyediakan dua simbol untuk menyatakan ketidaksamaan: <> dan !=, keduanya memiliki tujuan yang sama namun <> lebih disukai untuk mengikuti standar ISO.
Mengenal Operator SQL NOT EQUAL
Mengapa menggunakan NOT EQUAL?
Operator NOT EQUAL (<> atau !=) digunakan untuk mengambil data dari tabel yang tidak memenuhi kondisi tertentu. Ini memungkinkan pengecualian baris-baris spesifik dari hasil, sehingga analisis data menjadi lebih presisi dan relevan.
Sintaks dan penggunaan
Sintaks penggunaan operator NOT EQUAL cukup sederhana, melibatkan perbandingan dua ekspresi untuk menyaring data yang tidak cocok. Operator ini dapat digunakan dengan berbagai klausa dan kondisi berbeda, seperti WHERE, JOIN, dan HAVING.
Klausa WHERE
Dapat digunakan untuk memfilter baris di mana nilai kolom tidak cocok dengan nilai tertentu. Misalnya, untuk memilih produk dari database dengan mengecualikan ID produk tertentu, Anda dapat menggunakan kode berikut:
SELECT *
FROM products
WHERE ProductID <> 1;
Kondisi JOIN
Dapat digunakan dalam klausa ON untuk mendefinisikan kondisi penggabungan tabel.
SELECT e1.name, e2.name
FROM employees e1
JOIN employees e2
ON e1.manager_id != e2.employee_id;
Klausa HAVING
Dapat digunakan untuk memfilter data yang dikelompokkan berdasarkan kondisi agregat.
SELECT department_id, COUNT(*)
FROM employees
GROUP BY department_id
HAVING COUNT(*) != 5;
Pernyataan CASE
Dapat digunakan untuk logika kondisional guna mengembalikan hasil tertentu saat kondisi terpenuhi.
SELECT name,
CASE
WHEN department_id != 10 THEN 'Other Department'
ELSE 'Department 10'
END AS department_category
FROM employees;
Pernyataan UPDATE
Dapat digunakan dalam klausa WHERE untuk menentukan baris yang akan diperbarui berdasarkan ketidaksamaan.
UPDATE employees
SET salary = salary * 1.1
WHERE job_id != 'Manager';
Pernyataan DELETE
Dapat digunakan dalam klausa WHERE untuk mengidentifikasi baris yang akan dihapus ketika kondisi bernilai benar.
DELETE FROM employees
WHERE department_id != 10;
Contoh Praktis
Mari telusuri lebih dalam penerapan operator SQL NOT EQUAL dengan contoh-contoh yang diperluas untuk menunjukkan fleksibilitas dan kekuatannya dalam melakukan kueri ke database. Contoh ini akan mengilustrasikan cara menggunakan != dan <> secara efektif dalam berbagai skenario, meningkatkan keterampilan Anda dalam membuat kueri SQL.
Contoh 1: Memfilter rekaman tertentu
Bayangkan sebuah tabel database bernama Employees dengan kolom EmployeeID, Name, dan DepartmentID. Untuk mengecualikan karyawan dari departemen tertentu, misalnya DepartmentID 3, Anda dapat menggunakan operator NOT EQUAL:
|
EmployeeID |
Name |
DepartmentID |
|
1 |
Alice Johnson |
1 |
|
2 |
Bob Smith |
2 |
|
3 |
Carol White |
3 |
|
4 |
David Green |
2 |
|
5 |
Erin Black |
4 |
SELECT EmployeeID, Name, DepartmentID
FROM Employees
WHERE DepartmentID != 3;
Kueri ini mengambil semua karyawan yang bukan bagian dari DepartmentID 3, sehingga secara efektif menyaring individu dari departemen tersebut.
|
EmployeeID |
Name |
DepartmentID |
|
1 |
Alice Johnson |
1 |
|
2 |
Bob Smith |
2 |
|
4 |
David Green |
2 |
|
5 |
Erin Black |
4 |
Contoh 2: Menggabungkan kondisi
Sekarang, misalkan Anda ingin mengecualikan karyawan dari DepartmentID 3 dan mereka yang namanya diawali huruf 'A'. Ini memerlukan penggabungan operator NOT EQUAL dengan kondisi lain menggunakan AND dan LIKE:
SELECT EmployeeID, Name, DepartmentID
FROM Employees
WHERE DepartmentID <> 3 AND Name NOT LIKE 'A%';
Kueri ini menunjukkan cara menggunakan NOT EQUAL bersama dengan LIKE untuk pencocokan pola, dengan mengecualikan sebagian karyawan berdasarkan kriteria departemen dan nama.
|
EmployeeID |
Name |
DepartmentID |
|
2 |
Bob Smith |
2 |
|
4 |
David Green |
2 |
|
5 |
Erin Black |
4 |
Contoh 3: Menangani nilai NULL
Menangani nilai NULL dalam SQL memerlukan perhatian khusus karena NULL merepresentasikan nilai yang tidak diketahui. Untuk menemukan karyawan yang ManagerID-nya tidak diketahui (yaitu NULL), Anda mungkin berpikir untuk menggunakan != atau <>. Namun, pendekatan yang benar adalah menggunakan IS NOT NULL:
|
EmployeeID |
Name |
DepartmentID |
ManagerID |
|
1 |
Alice Johnson |
1 |
NULL |
|
2 |
Bob Smith |
2 |
1 |
|
3 |
Carol White |
3 |
1 |
|
4 |
David Green |
2 |
2 |
|
5 |
Erin Black |
4 |
3 |
Tabel Employees yang diperbarui
SELECT EmployeeID, Name
FROM Employees
WHERE ManagerID IS NOT NULL;
Kueri ini mengambil karyawan yang memiliki ManagerID yang diketahui, mengecualikan mereka yang memiliki NULL ManagerID. Ini menyoroti pentingnya memahami bagaimana SQL menafsirkan nilai NULL dalam operasi perbandingan.
|
EmployeeID |
Name |
|
2 |
Bob Smith |
|
3 |
Carol White |
|
4 |
David Green |
|
5 |
Erin Black |
Contoh 4: Menggunakan NOT EQUAL dengan agregasi
Misalkan Anda ingin menganalisis data penjualan dari tabel Sales, dengan mengecualikan penjualan tahun 2020. Menggabungkan GROUP BY dengan NOT EQUAL memungkinkan Anda mengagregasikan data sambil menyaring tahun tertentu:
|
SaleID |
SaleDate |
Quantity |
|
1 |
2019-05-01 |
2 |
|
2 |
2019-08-15 |
1 |
|
3 |
2020-04-20 |
3 |
|
4 |
2021-07-22 |
1 |
|
5 |
2021-11-05 |
2 |
|
6 |
2022-01-30 |
4 |
Tabel Sales
SELECT YEAR(SaleDate) AS SaleYear, COUNT(*) AS TotalSales
FROM Sales
GROUP BY YEAR(SaleDate)
HAVING YEAR(SaleDate) <> 2020;
Kueri ini mengagregasikan penjualan berdasarkan tahun dan mengecualikan total penjualan untuk tahun 2020, menunjukkan bagaimana NOT EQUAL dapat digunakan bersama fungsi agregat dan GROUP BY untuk memperhalus analisis data Anda.
|
SaleYear |
TotalSales |
|
2019 |
2 |
|
2021 |
2 |
|
2022 |
1 |
Contoh 5: Optimisasi kinerja
Saat melakukan kueri pada himpunan data besar, kinerja dapat terpengaruh oleh cara Anda menyusun kondisi NOT EQUAL. Misalkan Anda bekerja dengan tabel Products dan ingin mengecualikan produk dalam kategori 5 dan 7. Alih-alih menggunakan NOT EQUAL berkali-kali, mungkin lebih efisien menggunakan NOT IN:
|
ProductID |
Name |
CategoryID |
|
1 |
Wireless Mouse |
1 |
|
2 |
Gaming Keyboard |
5 |
|
3 |
USB-C Charging Cable |
3 |
|
4 |
Bluetooth Speakers |
7 |
|
5 |
Ergonomic Chair |
2 |
|
6 |
LED Monitor |
4 |
|
7 |
Smartwatch |
5 |
|
8 |
Desk Lamp |
6 |
|
9 |
Webcam |
2 |
SELECT ProductID, Name
FROM Products
WHERE CategoryID NOT IN (5, 7);
Kueri ini lebih ringkas dan berpotensi lebih efisien pada himpunan data besar, menggambarkan teknik optimisasi saat mengecualikan beberapa nilai spesifik.
|
ProductID |
Name |
|
1 |
Wireless Mouse |
|
3 |
USB-C Charging Cable |
|
5 |
Ergonomic Chair |
|
6 |
LED Monitor |
|
8 |
Desk Lamp |
|
9 |
Webcam |
Melalui contoh-contoh ini, Anda telah melihat fleksibilitas dan kekuatan operator SQL NOT EQUAL dalam berbagai skenario, mulai dari pengecualian sederhana hingga kueri kompleks yang melibatkan agregasi dan pertimbangan kinerja.
Saat Anda mempraktikkan contoh-contoh ini, ingatlah bahwa pilihan antara != dan <> pada dasarnya bersifat gaya, namun konsistensi penggunaan akan membuat kueri SQL Anda lebih mudah dibaca dan dipelihara.
Pertimbangan Kinerja
Meski operator NOT EQUAL kuat, penggunaannya perlu diimbangi dengan pertimbangan kinerja. Operasi ketidaksamaan terkadang dapat menyebabkan rencana eksekusi kueri yang kurang efisien, seperti pemindaian tabel penuh. Alternatif seperti operator IN atau kondisi kesetaraan yang terindeks bisa menawarkan kinerja yang lebih baik dalam skenario tertentu.
Kesimpulan
Operator NOT EQUAL adalah alat mendasar dalam SQL untuk penyaringan data. Dengan memahami penerapannya dan mempertimbangkan implikasi kinerja, praktisi dapat menyusun kueri yang efisien dan efektif. Ingat, pilihan antara <> dan != sebaiknya condong ke <> untuk kepatuhan terhadap standar ISO, memastikan kode SQL Anda tangguh dan dapat ditafsirkan secara universal.
Untuk mempelajari lebih lanjut tentang operator SQL NOT EQUAL dan mengeksplorasi dasar-dasar SQL lainnya, lihat SQL Basics Cheat Sheet dan jalur keterampilan SQL Fundamentals.
Sebagai data scientist tersertifikasi, saya bersemangat memanfaatkan teknologi mutakhir untuk menciptakan aplikasi machine learning yang inovatif. Dengan latar belakang kuat di pengenalan ucapan, analisis dan pelaporan data, MLOps, conversational AI, dan NLP, saya mengasah keterampilan dalam mengembangkan sistem cerdas yang berdampak nyata. Selain keahlian teknis, saya juga komunikator andal yang mampu menyederhanakan konsep kompleks menjadi bahasa yang jelas dan ringkas. Karena itu, saya menjadi blogger yang dicari di bidang data science, membagikan wawasan dan pengalaman kepada komunitas profesional data yang terus berkembang. Saat ini, saya berfokus pada pembuatan dan penyuntingan konten, bekerja dengan large language model untuk mengembangkan konten yang kuat dan menarik agar membantu bisnis dan individu memaksimalkan data mereka.
FAQ SQL NOT IN
Apa yang dilakukan operator SQL NOT EQUAL?
Operator SQL NOT EQUAL (<> atau !=) memfilter data dengan mengecualikan baris yang cocok dengan kondisi tertentu. Operator ini umum digunakan untuk mengambil data yang tidak memenuhi kriteria yang ditentukan dalam sebuah kueri.
Apakah <> dan != sama dalam SQL?
Ya, <> dan != memiliki tujuan yang sama dalam SQL, yaitu merepresentasikan ketidaksamaan. Namun, <> lebih disukai karena selaras dengan standar ISO, sehingga kueri lebih mudah ditafsirkan secara universal.
Apakah operator NOT EQUAL dapat menangani nilai NULL?
Tidak, operator NOT EQUAL tidak menangani nilai NULL secara langsung. Untuk menyaring NULL, Anda perlu menggunakan kondisi IS NOT NULL, karena NULL merepresentasikan nilai yang tidak diketahui dalam SQL.
Bagaimana perbedaan kinerja saat menggunakan NOT EQUAL dalam kueri SQL?
Menggunakan NOT EQUAL terkadang dapat menyebabkan rencana eksekusi kueri yang kurang efisien, seperti pemindaian tabel penuh. Untuk mengoptimalkan kinerja, pertimbangkan menggunakan alternatif seperti operator IN atau kondisi kesetaraan yang terindeks jika sesuai.
Dapatkah saya menggabungkan operator NOT EQUAL dengan kondisi SQL lainnya?
Ya, operator NOT EQUAL dapat dikombinasikan dengan kondisi lain menggunakan operator logika seperti AND dan OR, serta fungsi pencocokan pola seperti LIKE, untuk membuat kueri yang lebih kompleks dan presisi.

