Menggunakan Fungsi Agregat Di MySQL (1)

Pada tutorial kali ini, kita akan belajar tentang Penggunaan Fungsi Agregat Di MySQL.

Pada tutorial ini, ada beberapa hal yang harus Anda persiapkan terlebih dahulu sebagai bahan latihan, yaitu:

  • Buat tabel dengan nama "TBL_PEGAWAI" dengan menjalankan script di bawah ini:

    DROP TABLE IF EXISTS tbl_pegawai;
    
    CREATE TABLE IF NOT EXISTS tbl_pegawai (
      id_pegawai INT(5) NOT NULL AUTO_INCREMENT,
      nama_pegawai VARCHAR(20) DEFAULT NULL,
      jenis_kelamin CHAR(1) DEFAULT NULL,
      gaji DECIMAL(10,0) DEFAULT NULL,
      alamat VARCHAR(20) DEFAULT NULL,
      departemen VARCHAR(5) DEFAULT NULL,
      PRIMARY KEY (id_pegawai)
    ) ENGINE=InnoDB;
    

  • Insert data ke dalam tabel "TBL_PEGAWAI" dengan menjalankan script di bawah ini:

    INSERT INTO tbl_pegawai(nama_pegawai, jenis_kelamin, gaji, alamat, departemen)
        VALUES('Nursalim', 'L', 1000000, 'Brebes', 'IT');
    INSERT INTO tbl_pegawai(nama_pegawai, jenis_kelamin, gaji, alamat, departemen)
        VALUES('Naura Krasiva', 'P', 1500000, 'Tegal', 'FIN');
    INSERT INTO tbl_pegawai(nama_pegawai, jenis_kelamin, gaji, alamat, departemen)
        VALUES('Nurul Anawariyah', 'P', 2000000, 'Pemalang', 'HRD');
    INSERT INTO tbl_pegawai(nama_pegawai, jenis_kelamin, gaji, alamat, departemen)
        VALUES('Achmad Fathoni', 'L', 3000000, 'Batang', 'IT');
    INSERT INTO tbl_pegawai(nama_pegawai, jenis_kelamin, gaji, alamat, departemen)
        VALUES('Nurul Hikmah', 'P', 9000000, 'Pekalongan', 'DIR');
    INSERT INTO tbl_pegawai(nama_pegawai, jenis_kelamin, gaji, alamat, departemen)
        VALUES('Iskiyati', 'P', 3000000, 'Semarang', 'ACC');
    INSERT INTO tbl_pegawai(nama_pegawai, jenis_kelamin, gaji, alamat, departemen)
        VALUES('Dodi Al Farizi', 'L', 3000000, 'Kendal', 'FIN');
    INSERT INTO tbl_pegawai(nama_pegawai, jenis_kelamin, gaji, alamat, departemen)
        VALUES('Susanto', 'L', 4500000, 'Cilacap', 'MKT');
    INSERT INTO tbl_pegawai(nama_pegawai, jenis_kelamin, gaji, alamat, departemen)
        VALUES('Susanti', 'P', 43500000, 'Banyumas', 'MKT');
    INSERT INTO tbl_pegawai(nama_pegawai, jenis_kelamin, gaji, alamat, departemen)
        VALUES('Doni Nugroho', 'L', 3750000, 'Pemalang', 'HRD');
    

  • Tampilkan semua data dari tabel "TBL_PEGAWAI"

    Untuk menampilkan semua data dari tabel "TBL_PEGAWAI", Anda dapat menggunakan sql query di bawah ini:

    SELECT * FROM tbl_pegawai;
    +------------+------------------+---------------+----------+------------+------------+
    | id_pegawai | nama_pegawai     | jenis_kelamin | gaji     | alamat     | departemen |
    +------------+------------------+---------------+----------+------------+------------+
    |          1 | Nursalim         | L             |  1000000 | Brebes     | IT         |
    |          2 | Naura Krasiva    | P             |  1500000 | Tegal      | FIN        |
    |          3 | Nurul Anawariyah | P             |  2000000 | Pemalang   | HRD        |
    |          4 | Achmad Fathoni   | L             |  3000000 | Batang     | IT         |
    |          5 | Nurul Hikmah     | P             |  9000000 | Pekalongan | DIR        |
    |          6 | Iskiyati         | P             |  3000000 | Semarang   | ACC        |
    |          7 | Dodi Al Farizi   | L             |  3000000 | Kendal     | FIN        |
    |          8 | Susanto          | L             |  4500000 | Cilacap    | MKT        |
    |          9 | Susanti          | P             | 43500000 | Banyumas   | MKT        |
    |         10 | Doni Nugroho     | L             |  3750000 | Pemalang   | HRD        |
    +------------+------------------+---------------+----------+------------+------------+
    10 rows in set (0.00 sec)
    


Apa Itu Fungsi Agregat?

Fungsi Agregate (Aggregate Functions) adalah fungsi yang digunakan untuk mengolah beberapa koleksi data atau nilai menjadi nilai tunggal sebagai hasinya.

Misalnya, Anda ingin menghitung jumlah semua pegawai, menghitung rata-rata gaji pegawai, dan lain sebagainya.

Ada beberapa jenis fungsi agregat di MySQL yang sering digunakan, yaitu:
  • AVG()

    Fungsi AVG() digunakan untuk menampilkan nilai rata-rata dari sebuah kolom.
  • COUNT()

    Fungsi COUNT() digunakan untuk menampilkan jumlah dari sebuah data.
  • MAX()

    Fungsi MAX() digunakan untuk menampilkan nilai atau data terbesar dari sebuah kolom.
  • MIN()

    Fungsi MIN() digunakan untuk menampilkan nilai atau data terkecil dari sebuah kolom.
  • SUM()

    Fungsi SUM() digunakan untuk menampilkan hasil jumlah data atau nilai dari sebuah kolom.

Fungsi AVG()

Fungsi AVG() adalah fungsi agregat yang digunakan untuk menampilkan nilai rata-rata dari sebuah kolom.

Di bawah ini adalah sintak dasar dari fungsi AVG():

SELECT AVG(colum_name)
FROM table_name
[WHERE condition]
[GROUP BY group_by_column]

Sebagai bahan latihan, coba Anda kerjakan soal-soal berikut ini:

  • Tampilkan rata-rata gaji pegawai dari tabel "TBL_PEGAWAI"

    Untuk menampilkan data sesuai kriteria diatas, Anda dapat menggunakan query di bawah ini:

    SELECT AVG(gaji) AS rata_rata_gaji
    FROM tbl_pegawai;
    +----------------+
    | rata_rata_gaji |
    +----------------+
    |   7425000.0000 |
    +----------------+
    1 row in set (0.05 sec)
    

  • Tampilkan rata-rata gaji pegawai dari tabel "TBL_PEGAWAI" dikelompokkan berdasarkan jenis kelamin

    Untuk menampilkan data sesuai dengan kriteria diatas, Anda dapat menggunakan query berikut ini:

    SELECT jenis_kelamin, AVG(gaji) rata_gaji_jenis_kelamin
    FROM tbl_pegawai
    GROUP BY jenis_kelamin;
    +---------------+-------------------------+
    | jenis_kelamin | rata_gaji_jenis_kelamin |
    +---------------+-------------------------+
    | L             |            3050000.0000 |
    | P             |           11800000.0000 |
    +---------------+-------------------------+
    2 rows in set (0.02 sec)
    

  • Tampilkan rata-rata gaji pegawai dari tabel "TBL_PEGAWAI" dikelompokkan berdasarkan departemen.

    Untuk menampilkan data sesuai dengan kriteria diatas, Anda dapat menggunakan query berikut ini:

    SELECT departemen, AVG(gaji) rata_gaji_departemen
    FROM tbl_pegawai
    GROUP BY departemen;
    +------------+----------------------+
    | departemen | rata_gaji_departemen |
    +------------+----------------------+
    | ACC        |         3000000.0000 |
    | DIR        |         9000000.0000 |
    | FIN        |         2250000.0000 |
    | HRD        |         2875000.0000 |
    | IT         |         2000000.0000 |
    | MKT        |        24000000.0000 |
    +------------+----------------------+
    6 rows in set (0.00 sec)
    

Share on Google Plus

About Unknown

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

0 komentar:

Posting Komentar