Mengenal Query
1. Menampilkan semua kolom semua baris
Select *
from nama_tabel;
contoh:
select *
from data_pegawai;
atau
select nama_kolom1, nama_kolom2,kolom...
from nama_tabel;
contoh:
select nip,nama,jk,kota,bagian
from data_pegawai;
2. Menampilkan Kolom tertentu
contoh:
select nip,bagian
from data_pegawai;
3. Menampilkan baris tertentu
contoh:
select *
from data_pegawai
where jk='P';
4. Operator is null: semua operator tidak dapat dibandingkan
dengan nilai null
select nama
from data_pegawai
where kota=null;
seharusnya
select nama
from data_pegawai
where kota is null;
5. literal
'MySQL' == "MySQL"
Jika ingin menuliskan Jum'at maka cara menuliskannya adalah:
"Jum'at" atau 'Jum\'at' atau "Jum\'at"
6. Ekspresi: segala sesuatu yang menggunakan operator
matematika dan menghasilkan nilai
contoh:
select nip,gaji,tunjangan,gaji+tunjangan
from data_gaji;
7. Operator relasional: digunakan untuk membAndingkan 2 nilai
contoh:
select nama,gaji
from data_gaji
where gaji>1000000;
contoh:
select nip,nama
from data_gaji
where nama<'D';
8. Operator boolean : OR, AND, XOR, NOT
OR:untuk melakukan query dengan kondisi majemuk
contoh:
select *
from data_pegawai
where jk='P' or nama='Mahessa Wicaksana';
AND
contoh:
select *
from data_pegawai
where jk='P' and nama='Dinar Puspitasari';
NOT: pembalikan nilai benar
contoh:
select *
from data_pegawai
where not jk='P';
9. Memperoleh data yang unik
contoh:
select distinct jk
from data_pegawai;
contoh:
select distinct kota
from data_pegawai
where kota is not null;
10. Operator between: untuk operator jangkauan
contoh:
select *
from data_gaji
where gaji between 1000000 and 2000000
contoh tanpa between:
select *
from data_gaji
where gaji >= 1000000 and gaji <=2000000
contoh:
select *
from data_pegawai
where nama not between 'D' and 'J';
11. Operator IN: pencocokan dengan salah satu yang ada
pada daftar
contoh tanpa IN:
select *
from data_pegawai
where nip='n1000' or nip='n1009' or nip='n1013';
contoh dengan IN:
select *
from data_pegawai
where nip IN ('n1000','n1009','n1013');
contoh dengan NOT IN:
select *
from data_pegawai
where not nip IN ('n1000','n1009','n1013');
12.Operator LIKE: untuk mencari data semacam siapa saja yang
namanya mengandung kata ana dan sebagainya.
contoh:
select nama
from data_pegawai;
where nama like '%sa%';
13. Pengurutan data
contoh:
select jk,nama
from data_pegawai
order by jk;
contoh beberapa kolom:
select jk,nama
from data_pegawai
order by jk,nama;
contoh beberapa kolom secara descending:
select jk,nama
from data_pegawai
order by jk desc,nama desc;
contoh pengurutan menurut nomor kolom:
select jk,nama
from data_pegawai
order by 2 desc;
14. Pengelompokan data
contoh:
select kota
from data_pegawai
group by kota;
contoh:
select kota
from data_pegawai
where kota is not null
group by kota;
15. Klausa Having : menentukan kondisi bagi group by
contoh:
select kota
from data_pegawai
where kota is not null
group by kota
having kota <> 'malang';
contoh alternatif tanpa having:
select kota
from data_pegawai
where kota is not null and kota <> 'malang'
group by kota;
16. Fungsi Agregat (fungsi grup atau fungsi ringkasan): fungsi yang disediakan
untuk menghasilkan sebuah nilai berdasarkan sejumlah data.
Fungsi AVG
contoh AVG dan distinct AVG:
select avg(gaji)
from data_gaji;
select avg(distinct gaji)
from data_gaji;
contoh menghitung gaji rata-rata pegawai per bagian:
select kode_bagian, gaji
from data_gaji
group by kode_bagian;
contoh menghitung rata-rata gaji bagian HRD:
select avg(gaji)
from data_gaji
group by kode_bagian
having kode_bagian='1';
alternatif lain:
select avg(gaji)
from data_gaji
where kode_bagian='1';
where
group by
aggregate avg
having
1. Tampilkan rata-rata gaji per bagian yang
gajinya >1000000
select bagian, avg(gaji)
from gaji
where gaji>1000000
group by bagian;
select bagian, avg(gaji)
from gaji
group by bagian
having avg(gaji)>1000000;
Tampilkan rata-rata gaji per bagian untuk bagian 1 dan 3
select bagian, avg(gaji)
from gaji
group by bagian
having bagian <> 2;
select bagian, avg(gaji)
from gaji
where bagian ='1' or bagian ='3'
group by bagian;
Tampilkan rata-rata gaji per bagian yang rata-ratanya
antara 1000000 dan 2000000
select bagian, avg(gaji)
from gaji
group by bagian
having avg(gaji) between 1000000 and 2000000;
Fungsi COUNT()
contoh:
select count(nama)
from data_pegawai;
contoh menghitung jumlah pegawai per bagian
select kode_bagian, count (kode_bagian)
from data_pegawai
group by kode_bagian
contoh menghitung jumlah pegawai per bagian khusus untuk yang
jumlahnya lebih dari 1:
select kode_bagian, count (kode_bagian)
from data_pegawai
group by kode_bagian
having count(kode_bagian)>1;
Fungsi MAX()
contoh memperoleh gaji terbesar tiap bagian:
select kode_bagian, max(gaji)
from data_gaji
group by kode_bagian;
Fungsi MIN()
contoh memperoleh gaji terkecil tiap bagian:
select kode_bagian, min(gaji)
from data_gaji
group by kode_bagian;
Fungsi SUM()
contoh menghitung jumlah gaji tiap bagian:
select kode_bagian, sum(gaji)
from data_gaji
group by kode_bagian;
Beda Where dan having
1. having itu kondisi setelah di group
sedangkan where itu belum di group
contoh:
SELECT kelas,count(*)
FROM siswa
GROUP BY kelas
HAVING COUNT(*) >=3;
2. having untuk memberikan syarat pada fungsi group..
where untuk syarat biasa..
contoh:
SELECT nis,nama,count(*)
from siswa
where wali like 'd%'
group by wali
having count(*)>=3
1. Menampilkan semua kolom semua baris
Select *
from nama_tabel;
contoh:
select *
from data_pegawai;
atau
select nama_kolom1, nama_kolom2,kolom...
from nama_tabel;
contoh:
select nip,nama,jk,kota,bagian
from data_pegawai;
2. Menampilkan Kolom tertentu
contoh:
select nip,bagian
from data_pegawai;
3. Menampilkan baris tertentu
contoh:
select *
from data_pegawai
where jk='P';
4. Operator is null: semua operator tidak dapat dibandingkan
dengan nilai null
select nama
from data_pegawai
where kota=null;
seharusnya
select nama
from data_pegawai
where kota is null;
5. literal
'MySQL' == "MySQL"
Jika ingin menuliskan Jum'at maka cara menuliskannya adalah:
"Jum'at" atau 'Jum\'at' atau "Jum\'at"
6. Ekspresi: segala sesuatu yang menggunakan operator
matematika dan menghasilkan nilai
contoh:
select nip,gaji,tunjangan,gaji+tunjangan
from data_gaji;
7. Operator relasional: digunakan untuk membAndingkan 2 nilai
contoh:
select nama,gaji
from data_gaji
where gaji>1000000;
contoh:
select nip,nama
from data_gaji
where nama<'D';
8. Operator boolean : OR, AND, XOR, NOT
OR:untuk melakukan query dengan kondisi majemuk
contoh:
select *
from data_pegawai
where jk='P' or nama='Mahessa Wicaksana';
AND
contoh:
select *
from data_pegawai
where jk='P' and nama='Dinar Puspitasari';
NOT: pembalikan nilai benar
contoh:
select *
from data_pegawai
where not jk='P';
9. Memperoleh data yang unik
contoh:
select distinct jk
from data_pegawai;
contoh:
select distinct kota
from data_pegawai
where kota is not null;
10. Operator between: untuk operator jangkauan
contoh:
select *
from data_gaji
where gaji between 1000000 and 2000000
contoh tanpa between:
select *
from data_gaji
where gaji >= 1000000 and gaji <=2000000
contoh:
select *
from data_pegawai
where nama not between 'D' and 'J';
11. Operator IN: pencocokan dengan salah satu yang ada
pada daftar
contoh tanpa IN:
select *
from data_pegawai
where nip='n1000' or nip='n1009' or nip='n1013';
contoh dengan IN:
select *
from data_pegawai
where nip IN ('n1000','n1009','n1013');
contoh dengan NOT IN:
select *
from data_pegawai
where not nip IN ('n1000','n1009','n1013');
12.Operator LIKE: untuk mencari data semacam siapa saja yang
namanya mengandung kata ana dan sebagainya.
contoh:
select nama
from data_pegawai;
where nama like '%sa%';
13. Pengurutan data
contoh:
select jk,nama
from data_pegawai
order by jk;
contoh beberapa kolom:
select jk,nama
from data_pegawai
order by jk,nama;
contoh beberapa kolom secara descending:
select jk,nama
from data_pegawai
order by jk desc,nama desc;
contoh pengurutan menurut nomor kolom:
select jk,nama
from data_pegawai
order by 2 desc;
14. Pengelompokan data
contoh:
select kota
from data_pegawai
group by kota;
contoh:
select kota
from data_pegawai
where kota is not null
group by kota;
15. Klausa Having : menentukan kondisi bagi group by
contoh:
select kota
from data_pegawai
where kota is not null
group by kota
having kota <> 'malang';
contoh alternatif tanpa having:
select kota
from data_pegawai
where kota is not null and kota <> 'malang'
group by kota;
16. Fungsi Agregat (fungsi grup atau fungsi ringkasan): fungsi yang disediakan
untuk menghasilkan sebuah nilai berdasarkan sejumlah data.
Fungsi AVG
contoh AVG dan distinct AVG:
select avg(gaji)
from data_gaji;
select avg(distinct gaji)
from data_gaji;
contoh menghitung gaji rata-rata pegawai per bagian:
select kode_bagian, gaji
from data_gaji
group by kode_bagian;
contoh menghitung rata-rata gaji bagian HRD:
select avg(gaji)
from data_gaji
group by kode_bagian
having kode_bagian='1';
alternatif lain:
select avg(gaji)
from data_gaji
where kode_bagian='1';
where
group by
aggregate avg
having
1. Tampilkan rata-rata gaji per bagian yang
gajinya >1000000
select bagian, avg(gaji)
from gaji
where gaji>1000000
group by bagian;
select bagian, avg(gaji)
from gaji
group by bagian
having avg(gaji)>1000000;
Tampilkan rata-rata gaji per bagian untuk bagian 1 dan 3
select bagian, avg(gaji)
from gaji
group by bagian
having bagian <> 2;
select bagian, avg(gaji)
from gaji
where bagian ='1' or bagian ='3'
group by bagian;
Tampilkan rata-rata gaji per bagian yang rata-ratanya
antara 1000000 dan 2000000
select bagian, avg(gaji)
from gaji
group by bagian
having avg(gaji) between 1000000 and 2000000;
Fungsi COUNT()
contoh:
select count(nama)
from data_pegawai;
contoh menghitung jumlah pegawai per bagian
select kode_bagian, count (kode_bagian)
from data_pegawai
group by kode_bagian
contoh menghitung jumlah pegawai per bagian khusus untuk yang
jumlahnya lebih dari 1:
select kode_bagian, count (kode_bagian)
from data_pegawai
group by kode_bagian
having count(kode_bagian)>1;
Fungsi MAX()
contoh memperoleh gaji terbesar tiap bagian:
select kode_bagian, max(gaji)
from data_gaji
group by kode_bagian;
Fungsi MIN()
contoh memperoleh gaji terkecil tiap bagian:
select kode_bagian, min(gaji)
from data_gaji
group by kode_bagian;
Fungsi SUM()
contoh menghitung jumlah gaji tiap bagian:
select kode_bagian, sum(gaji)
from data_gaji
group by kode_bagian;
Beda Where dan having
1. having itu kondisi setelah di group
sedangkan where itu belum di group
contoh:
SELECT kelas,count(*)
FROM siswa
GROUP BY kelas
HAVING COUNT(*) >=3;
2. having untuk memberikan syarat pada fungsi group..
where untuk syarat biasa..
contoh:
SELECT nis,nama,count(*)
from siswa
where wali like 'd%'
group by wali
having count(*)>=3
Tidak ada komentar:
Posting Komentar