Kamis, 10 Januari 2013

MODUL 3 (Query)



SELECT Statement
Mengambil data dengan SELECT
mysql> select*from employee;


Mengambil data pada kolom tertentu
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.
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
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
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).
mysql> SELECT description FROM employee;



mysql> SELECT DISTINCT description FROM employee;



Membatasi hasil query dengan LIMIT
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
mysql> SELECT*FROM employee GROUP BY city;



Mendapatkan jumlah anggota setiap kelompok menggunakan COUNT[ ]
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
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.
mysql> SELECT CONCAT(first_name,” ", last_name) AS name
     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
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
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.
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 dapat digunakan untuk meneriam satu buah nilai, sehingga ketiak hasil dari sub query berisis lebih dari satu data, maka :


Sub query dengan ALL



Sub query dengan ANY










Sub query dengan EXISTS
  

Sub query dengan IN









Table JOIN











Cross Join







Equi-Join atau Inner Join






Natural Join



Left Join dan Right Join







Update menggunakan Join Table









Delete menggunakan Join Table