pina2

mail@pastecode.io avatar
unknown
plain_text
a year ago
1.7 kB
4
Indexable
Never
Jumlah penduduk per agama di suatu kecamatan tertentu:

SELECT k.Nama_kecamatan, a.Nama_agama, COUNT(p.Nik) AS jumlah_penduduk
FROM Penduduk p
JOIN Kecamatan k ON p.Id_kecamatan = k.Id_kecamatan
JOIN Agama a ON p.Id_agama = a.Id_agama
GROUP BY k.Nama_kecamatan, a.Nama_agama;

Pekerjaan yang paling umum di suatu kecamatan tertentu:

SELECT k.Nama_kecamatan, pek.Nama_pekerjaan AS pekerjaan_umum
FROM Penduduk p
JOIN Kecamatan k ON p.Id_kecamatan = k.Id_kecamatan
JOIN Pekerjaan pek ON p.Id_pekerjaan = pek.Id_pekerjaan
WHERE p.Id_pekerjaan = (
    SELECT Id_pekerjaan
    FROM Penduduk
    WHERE Id_kecamatan = 'Id_Kecamatan_Tertentu'
    GROUP BY Id_pekerjaan
    ORDER BY COUNT(Nik) DESC
    LIMIT 1
);

Rata-rata usia penduduk per agama:

SELECT a.Nama_agama, AVG(YEAR(CURRENT_DATE) - YEAR(p.Tanggal_lahir)) AS rata_rata_usia
FROM Penduduk p
JOIN Agama a ON p.Id_agama = a.Id_agama
GROUP BY a.Nama_agama;

Jumlah penduduk dengan tingkat pendidikan tertentu:

SELECT pd.Nama_pendidikan, COUNT(p.Nik) AS jumlah_penduduk
FROM Penduduk p
JOIN Pendidikan pd ON p.Id_pendidikan = pd.Id_pendidikan
GROUP BY pd.Nama_pendidikan;

Penduduk dengan usia tertentu per jenis kelamin:

SELECT jk.Nama_jenis_kelamin, COUNT(p.Nik) AS jumlah_penduduk
FROM Penduduk p
JOIN Jenis_Kelamin jk ON p.Id_jenis_kelamin = jk.Id_kelamin
WHERE YEAR(CURRENT_DATE) - YEAR(p.Tanggal_lahir) BETWEEN 25 AND 35; -- Ubah rentang usia sesuai dengan kebutuhan
GROUP BY jk.Nama_jenis_kelamin;

Daftar penduduk dengan alamat di suatu kecamatan tertentu:

SELECT p.Nama, p.Alamat
FROM Penduduk p
JOIN Kecamatan k ON p.Id_kecamatan = k.Id_kecamatan
WHERE k.Nama_kecamatan = 'Nama_Kecamatan_Tertentu';