MODUL 3
PERTEMUAN 3 QUERY
SELECT Statement
Mengambil data dengan SELECT
Syntax mysql :
mysql> select*from employee;Mengambil data pada kolom tertentu
Syntax mysql :
myql> SELECT first_name,last_name, city FROM employee;Query menggunakan parameter kondisi WHERE
Statement WHERE dapat digunakan untuk memfilter data yang ingin kita ambil.
Syntax mysql :
mysql> SELECT first_name, last_name, city from employee WHERE city=’New York’;Query menggunakan beberapa parameter kondisional
Statement AND (&&) atau OR ( || ) digunakan untuk memilih data
Syntax mysql :
mysql> SELECT first_name,last_name,salary,city FROM employee WHERE city=’New York’ AND salary > 4000;mysql> SELECT first_name, last_name, city, description FROM employee WHERE city =’Toronto’ OR description=’Tester’;
Memberikan alias hasil query pada SELECT
Query data bertipe teks dengan pattern matching
Digunakan untuk memilih data bertipe teks dengan karakteristik tertentu.
Command yang digunakan untuk melakukan pencocokan LIKE dan NOT LIKE.
Syntax mysql :
myql> SELECT CONCAT (first_name,” ”, last_name) FROM employee WHERE first_name LIKE ‘J_____’;mysql> SELECT CONCAT(first_name,” ”, last_name) FROM employee WHERE first_name NOT LIKE ‘%n’;
Query data unik menggunakan DISTINCT
Digunakan untuk menghilangkan duplikasi dari data yang dicari sehingga didapatkan data yang unik (hanya muncul satu kali).
Syntax mysql :
mysql> SELECT description FROM employee;mysql> SELECT DISTINCT description FROM employee;
Membatasi hasil query dengan LIMIT
Syntax mysql :
mysql> SELECT*FROM employee LIMIT; mysql> SELECT*FROM employee LIMIT 2,3;
mysql> SELECT*FROM employee LIMIT 0,3;
Mengelompokan hasil query emggunakan GROUP BY
Syntax mysql :
mysql> SELECT*FROM employee GROUP BY city;Mendapatkan jumlah anggota setiap kelompok menggunakan COUNT[ ]
Syntax mysql :
mysql> SELECT city, COUNT(*) FROM employee GROUP BY city;
mysql> SELECT city, COUNT(*) FROM employee WHERE description=’Tester’ GROUP BY city;
Parameter kondisional dengan HAVING
Statement HAVING seperti WHERE , biasanya digunakan untuk pembatas sekunder setelah statement GROUP BY, walau bisa saja tanpa menggunakan GROUP BY
Syntax mysql :
mysql> SELECT first_name, last_name, salary FROM employee HAVING salary > 3000;
mysql> SELECT city, COUNT(*), salary FROM employee WHERE salary > 3000 GROUP BY city;
mysql> SELECT city, COUNT(*), salary FROM employee GROUP BY city HAVING salary > 3000;
Penggunaan HAVING setelah ORDER BY memerlukan nam kolom yang akan difilter menggunakan HAVING ikut dipilih . jika tidak hasilnya :
Mengurutkan hasil query menggunakan ORDER BY
Digunakan untuk mengurutkan berdasarkan field/kolom teretentu.
Syntax mysql :
mysql> SELECT CONCAT(first_name,” ", last_name) AS nama FROM employee ORDER BY name;
mysql> SELECT CONCAT(first_name,” ”,last_name) as name FROM employee ORDER BY name desc;
Mengurutkan hasil query lebih dari satu kolom
Syntax mysql :
mysql> SELECT first_name, last_name, city FROM employee ORDER BY first_name, city;
mysql> SELECT first_name, last_name, city FROM employee ORDER BY first_name, city DESC;
Kombinasi OEDER BY dengan LIMIT
Statement ORDER BY akan dieksekusi terlebih dahulu sebelum menegksekusi statement LIMIT
Syntax mysql :
mysql> SELECT first_name, last_name, city FROM employee ORDER city LIMIT 4;
Operator BETWEEN
Digunakan untuk memfilter data yang bernilai di antara dua buah nilai yang dispesifikasikan.
Syntax mysql :
mysql> SELECT first_name, last_name, salary FROM employee WHERE salary BETWEEN 1000 and 3000;
BETWEEN juga dapat digunakan untuk memfilter nilai alfanumerik
Negasi dari BETWEEN adalah NOT BETWEEN
SUB QUERY
Adalah statement SELECT di dalam statement SELECT. Dinyatakan di dalam tanda kurung (). Statement di luar statement sub query adalah salah satu dari statement SELECT, INSERT, UPDATE, DELETE,SET, atau DO.
Operator penghubung “=” hanya dapt digunakan untuk meneriam satu buah nilai, sehingga ketiak hasil dari sub query berisis lebih dari satu data, maka :
Sub query dengan ALL
Command ALL diikuti dengan operator perbandingan digunakan memiliki arti menampilkan nilai jika
perbandingan bernilai benar untuk semua data.
Sub query dengan ANY
Command ANY diikuti dengan operator perbandingan memiliki arti menampilkan nilai yang sesuai
dengan apapun yang dihasilkan oleh sub query. Alias dari ANY adalah SOME.
Sub query dengan EXISTS
Sebuah sub query dengan EXISTS memberikan nilai TRUE jika sub query tersebut memiliki hasil. Jika sub query bernilai TRUE, maka query utama akan dijalankan. Negasi dari sub query EXISTS adalah NOT
EXISTS.
Sub query dengan IN
Seperti yang telah disebutkan sebelumnya, operator “=” hanya dapat digunakan ketika hasil sub query
memiliki hasil tepat satu. Jika hasil sub query berjumlah lebih dari satu data, maka kita dapat
menggunakan IN.
Table JOIN
Dalam basis data relasional, kita mengenal relasi antar tabel. Untuk melakukan query terhadap dua atau
lebih tabel yang memiliki relasi, kita bisa menggunakan fitur table join di MySQL.
Cross Join
Operasi tabel yang pertama adalah cross join atau disebut juga sebagai Cartesian join. Pada cross join,
semua data dalam tabel yang pertama dipasangkan dengan semua data pada tabel yang kedua.
Equi-Join atau Inner Join
Inner join menggabungkan tabel dengan membandingkan nilai yang sama antara dua buah kolom.
Kolom yang dibandingkan dapat kita spesifikasikan.
Natural Join
Natural join sebenarnya mirip dengan INNER JOIN. Namun kita tidak perlu menspesifikasikan kolom
mana yang ingin kita bandingkan. Secara automatis, MySQL akan mencari kolom pada dua buah tabel
yang memiliki nilai yang sama dan membandingkannya.
Left Join dan Right Join
Left join dan right join digunakan untuk menghindari data yang hilang karena mungkin ada data yang
belum direferensi oleh tabel yang lain.
Update menggunakan Join Table
Delete menggunakan Join Table
Tidak ada komentar:
Posting Komentar