Query
Query
Seleksi satu table
Seleksi tipe ini memungkinkan anda untuk bebas memilih filed untuk bebas memilih field mana saja yang ingin anda tampilkan, asalkan antara field yang satu dengan yang lain masih berada pada table-tabel yang saling berelasi.
SELECT nama_field-1, …, nama_field-n, aggregate function
FROM nama_tabel-1,…, nama_tabel-n
WHERE kriteria
GROUP BY nama_field-1, …, nama_field-n
HAVING criteria_aggregate_function
ORDER BY nama_field
Contoh soal:
Tampilkan data pegawai yaitu: nama, pendidikan, jabatan dan tunjangan jabatan.
Jawab:
SELECT P.nama, P.pendidikan, J.nm_jabatan, J.tj_jabatan
FROM pegawai AS P, jabatan AS J
WHERE P.kd_jabatan = J.kd_jabatan
Atau sama saja dengan:
SELECT pegawai.nama, pegawai.pendidikan, jabatan.nm_jabatan, jabatan.tj_jabatan
FROM pegawai, jabatan
WHERE Pegawai.kd_jabatan = jabatan.kd_jabatan
Seleksi dengan sub query
Sub query adalah query didalam query. Artinya seleksi data berdasarkan dari hasil seleksi data yang telah ada.Sintaks SQL nya sama dengan sintak SQL umumnya , hanya saja kondisi setelah where diikuti dengan query atau Sub-query.
SELECT nama_filed-1,….., nama filed-n
FROM nama _tabel
WHERE criteria (SELECT nama_filed-1,….., nama filed-n
FROM nama _tabel
WHERE kriteria )
Contoh soal :
Tampilkan jam lembur maksimal yang dilakukan oleh pegawai.
Jawab :
SELECT max(jam _lembur ) AS jam _lembur_maksimum
FROM lembur;
Union ( Gabungan )
Pada prinsipnya union bertujuan untuk menggabungkan dua query atau lebih menjadi satu kesatuan query. Pada operasi union ini mensyaratkan kedua query atau sub query yang akan di gabungkan harus memiliki domain kolom yang sama.
SELECT nama_field-1,…, nama_field-n, aggregate function
FROM nama_tabel
WHERE criteria
GROUP BY nama_field-1,….,nama_field-n
Tampilkan data pegawai honorer saja (pegawai honorer adalah pegawai yang tidak mendapatkan potongan koperasi). Field yang ditampilkan adalah bulan, tahun, nip, nama,jumlah potongan dan keterangan. Pada field keterangan akan berisi data ‘pegawai honorer’, bila jumlah potongan koperasi nol. Apabila pegawai tersebut mendapat potongan koperasi, maka akan muncul keterangan ‘pegawai tetap’.
Jawab:
SELECT month (PK.bulan) AS bulan, year(PK.bulan) AS tahun,
PK.nip, P.nama, PK.jml_pot As jumlah_potongan,
IIF(PK.jml_pot=0,’pegawai honorer’,’pegawai tetap’) AS keterangan
FROM pegawai AS P, pot_kop AS PK
WHERE PK.nip = P.nip AND
P.nip LIKE ‘H*’;
Join/ Inner join
Pada prinsipnya join/ inner join bertujuan untuk mencari kesamaan data antara table yang satu dengan yang lainnya. Data (record pada field di table yang satu dan record pada field yang lain) yang sama akan ditampilkan setelah terjadi operasi join ini.
Contoh soal:
Tampilkan nama, pendidikan, nama jabatan serta tunjangan jabatan dari masing-masing pegawai.
Jawab:
SELECT P.nama, P.pendidikan, J.nm_jabatan, J.tj_jabatan
FROM pegawai AS P INNER JOIN Jabatan
Comments
Post a Comment