💻
Doyatama Code
  • Welcome to Doyatama Code
  • Terms and Conditions
  • Learning Site
  • Editor Online
  • Group Telegram Recommended
  • Project
    • Cek Kata
      • Pengenalan
      • Membuat Backend
      • Membuat Frontend
  • Training
    • Java Programming Language
      • Step 1 - Basic
        • Dasar Algoritma
        • Flowchart
        • Studi Kasus
        • Variabel, Tipe Data dan Operator
        • Pemilihan
        • Pemilihan Bersarang
        • Perulangan
        • Perulangan Bersarang
        • Array 1 Dimensi
        • Array 2 Dimensi
        • Fungsi
        • Fungsi Rekursif
      • Step 1 Assignment
      • Step 2 - Data Structure Algorithm
      • Step 2 - Assignment
    • React Web Frontend Development
      • Step 1 - Basic Javascript
        • JavaScript Dasar untuk React – Variable, Object & Scope
        • JavaScript Dasar untuk React – “this” keyword
        • JavaScript Dasar untuk React – Array methods
        • JavaScript Dasar untuk React – Class & Module
        • HTML Dasar untuk React
      • Step 1 - Assignment
        • Assignment - JavaScript Dasar untuk React - Variable, Object & Scope
        • Assignment - JavaScript Dasar untuk React - "this" keyword
        • Assignment - JavaScript Dasar untuk React - Array methods
        • Assignment - JavaScript Dasar untuk React - Class & Module
        • Assignment - HTML Dasar untuk React
      • Step 2 - Going to React JS
        • Introduction to React JS
        • Components & Props
        • State & LifeCycle
        • Lists & Forms
        • Konsep “Lifting State Up”
      • Step 2 - Assignment
        • Assignment - Introduction to React JS
        • Assignment - Components & Props
        • Assignment - State & LifeCycle
      • Step 3 - Going to Redux
        • Bagaimana Berpikir di React
        • Hooks & Context
        • React Router
        • Redux & React-Redux
        • Redux Middleware menggunakan Redux-Thunk
      • Step 3 - Assignment
      • Step 4 - Deploy and Make Final Project
        • Testing menggunakan Jest & RTL
        • Deployment
        • Final Project – Mocking
        • Final Project – Static Version
        • Final Project – Interactive Version & Deploy
      • Step 4 - Assignment
      • Big Project -
    • Laravel Web Development
      • Step 1 - Basic Web Programming
        • Berkenalan dengan HTML
        • CSS Basic to Ninja
        • CSS Bootstrap
        • Introduction Javascript
        • Dom JavaScript
      • Step 1 - Assignment
      • Step 2 - Materials
      • Step 2 - Assignment
      • Step 3 - Materials
      • Step 3 - Assignment
      • Step 4 - Materials
      • Step 4 - Assignment
      • Big Project
    • React Native Mobile Apps Development
      • Step 1 - Basic
        • Command Line
        • Git
        • Javascript – Intro
        • Javascript – String Properties & Method
        • Javascript – Conditional
        • Javascript – Loop
        • Javascript – Function
        • Javascript – Array
      • Step 1 - Assignment
        • Assignment - JavaScript String Properties & Method
        • Assignment - Javascript Looping
        • Assignment - Javascript Function
        • Assignment - JavaScript Array
      • Step 2 - Materials
        • Javascript – Object
        • Javascript – Class
        • Javascript – Asynchronous
        • Javascript – ES6
        • React Native Intro
      • Step 2 - Assignment
      • Step 3 - Materials
        • Mockup Figma
        • React Native – Components
        • React Native – Styling & Flexbox
        • React Native – Components API & Lifecycle
        • React Native – Navigation
      • Step 3 - Assignment
      • Step 4 - Materials
        • React Native – State Management (Redux)
        • React Native – Build & Release APK/IPA
        • React Native – Codepush
        • React Native – Publish Google Play Store/App Store
        • React Native – Firebase Data Storage
        • React Native – Function Component & Hooks
      • Step 4 - Assignment
    • Learning Database
      • Step 1 - Entity Relationship Diagram
        • Contoh Penerapan Basis Data
        • Introduction to Entity Relationship Diagram (ERD)
        • Introduction to Entity Relationship Diagram (ERD) Part 2
        • ERD to Relational Model
        • ERD to Relational Model Part 2
      • Step 1 - Assignment
      • Step 2 - Normalization
        • What is Normalization ?
        • Normalization 1NF, 2NF And 3NF
        • Normalization 4NF, 5NF
      • Step 2 - Assignment
      • Step 3 - MySQL
        • MySQL - Data Definition Language (DDL)
        • MySQL - Data Manipulation Language (DML)
        • MySQL - Data Retrieval Language (DRL)
        • MySQL - Select JOIN
      • Step 3 - Assignment
    • Boilerplate
Powered by GitBook
On this page
  • Praktikum – Bagian 1: Membuat Database untuk Percobaan
  • Praktikum – Bagian 2: Percobaan SELECT QUERY
  • Praktikum - Bagian 3: Percobaan SELECT Sub-Query
  • Praktikum - Bagian 4: Percobaan FUNGSI AGREGASI

Was this helpful?

Export as PDF
  1. Training
  2. Learning Database
  3. Step 3 - MySQL

MySQL - Data Retrieval Language (DRL)

DRL atau DSL (Data Selection Language) adalah set perintah yang dgunakan untuk mengambil data dari server basis data. DRL terdiri dari klausa yang dapat dikembangkan lebih lanjut, antara lain:

  1. FROM: Memilih nama sebuah tabel

  2. WHERE: Menunjukkan secara spesifik suatu row/baris yang akan dicari

  3. GROUP BY: Menyusung data ke dalam grup

  4. HAVING: Memilih diantara kelompok-kelompok data yang didefinisikan klausa GROUP BY

  5. ORDER BY: Secara spesifik digunakan untuk menentukan suatu baris pada kolom tertentu

  6. AS: Memberikan nama alias sementara untuk tabel atau kolom

DRL lebih diterapkan dalam beberapa hal dalam beberapa hal seperti :

  1. QUERY

  2. SUB-QUERY

  3. FUNGSI AGREGASI

Query

Query merupakan operasi yang melibatkan satu atau lebih tabel untuk melakukan retrival data. Pengambilan data dilakukan dengan beberapa klausa berikut :

  1. SELECT * untuk memilih semua kolom Format

      SELECT * FROM table_name;
  2. SELECT dengan WHERE untuk menampilkan baris dengan suatu kondisi

    Format

      SELECT column1, column2,...
      FROM table_name
      WHERE condition;
  3. SELECT dengan DISTINCT untuk menampilkan data dengan eliminasi data yang sama (duplicate)

    Format

      SELECT DISTINCT column FROM table_name;
  4. SELECT dengan IN untuk menampilkan data yang spesifik

    Format

      SELECT column_name(s)
              FROM table_name
              WHERE column_name IN (value1, value2, ...);
  5. SELECT dengan BETWEEN untuk menampilkan data pada jarak (range) tertentu

    Format

      SELECT column_name(s)
              FROM table_name
              WHERE column_name BETWEEN value1 AND value2;
  6. SELECT dengan LIKE untuk menampilkan data yang memiliki kemiripan dengan keyword yang diinginkan

    Format

      SELECT column1,column2,...
              FROM table_name
              WHERE columnN LIKE pattern;
  7. SELECT dengan GROUP BY untuk menampilkan susunan data dalam bentuk grup

    Format

      SELECT column1, column2,...
              condition
              FROM table_name
              GROUP BY column1, column2, ...;
  8. SELECT dengan ORDER BY untuk menampilkan baris secara spesifik dan terurut maju atau mundur

    Format

      SELECT column1, column2, ...
              FROM table_name
              ORDER BY column1, column2, ... ASC|DESC;
  9. SELECT denganAND, OR and NOT untuk menampilkan data dengan kondisi dan atau atau tidak

    Format

    AND

      SELECT column1, column2, ...
              FROM table_name
              WHERE condition1 AND condition2 AND condition3 ...;

    OR

      SELECT column1, column2, ...
              FROM table_name
              WHERE condition1 OR condition2 OR condition3 ...;

    NOT

      SELECT column1, column2, ...
              FROM table_name
              WHERE NOT condition;
  10. SELECT dengan UNION, INTERSECT dan EXCEPT untuk menampikan data dengan operasi himpunan yang melibatkan lebih dari satu tabel

    Format UNION

    Tanpa duplikasi

     SELECT column_name(s) FROM table1
             UNION
             SELECT column_name(s) FROM table2;

    Dengan duplikasi

     SELECT column_name(s) FROM table1
             UNION ALL
             SELECT column_name(s) FROM table2;

    INTERSECT Tanpa duplikasi

     SELECT column_name(s) FROM table1
             INTERSECT
             SELECT column_name(s) FROM table2;

    Dengan duplikasi

     SELECT column_name(s) FROM table1
             INTERSECT ALL
             SELECT column_name(s) FROM table2;

    EXCEPT Tanpa duplikasi

     SELECT column_name(s) FROM table1
             EXCEPT
             SELECT column_name(s) FROM table2;

    Dengan duplikasi

     SELECT column_name(s) FROM table1
             EXCEPT ALL
             SELECT column_name(s) FROM table2;

Sub Query

Sub-query adalah adanya query di dalam query lain. Sub-query juga disebut dengan perintah SELECT bersarang (nested SELECT). Retrival data dalam sub-query dilakukan oleh SELECT untuk menemukan data pada SELECT utama. Klausa GROUP BY dan HAVING juga dapat digunakan untuk retrival data pasa sub-query. Sub-query biasanya digunakan untuk test keanggotaan himpunan atau perbandingan himpunan dan kardinalitas. Format Untuk test keanggotaan

SELECT column_name(s)
FROM table_name
WHERE column_name IN (SELECT STATEMENT);

atau

SELECT column_name(s)
FROM table_name
GROUP BY column1, column2, ...;
HAVING column_name IN (SELECT STATEMENT);

Untuk perbandingan himpunan

SELECT column_name(s)
FROM table_name 
operator
(SELECT STATEMENT);

Fungsi Agregasi

Fungsi agregasi akan melakukan perhitungan kepada sekumpulan nilai dan menghasilkan suatu nilai tunggal.

Jenis:

  1. AVG untuk menghitung rata-rata Format

      SELECT AVG(column_name)
      FROM table_name
      WHERE condition;
  2. MAX untuk mencari nilai tertinggi Format

      SELECT MAX(column_name)
      FROM table_name
      WHERE condition;
  3. MIN untuk mencari nilai terendah Format

      SELECT MIN(column_name)
      FROM table_name
      WHERE condition;
  4. SUM untuk menjumlahkan sekumpulan nilai Format

      SELECT SUM(column_name)
      FROM table_name
      WHERE condition;
  5. COUNT() untuk menunjukkan jumlah baris pada kolom yang diinginkan Format

      SELECT COUNT(column_name)
      FROM table_name
      WHERE condition;

Praktikum – Bagian 1: Membuat Database untuk Percobaan

  1. Studi kasus yang digunakan sama dengan jobsheet DML dengan skema/model relasional/EER diagram dari database berikut.

  2. Skema tersebut adalah skema database pada sebuah sistem informasi yang digunakan oleh suatu perusahaan yang bergerak di bidang pembuatan perangkat lunak. Sesuai dengan percobaan pada jobsheet DML. Insert kembali departemen yang mengandung nama ‘dan’, dengan cara menyalin dari tabel departemen_backup, sehingga menghasilkan record keseluruhan tabel sebagai berikut (record tidak harus sama persis dengan tampilan ini):

    SELECT * FROM departemen;

    SELECT * FROM karyawan;

    SELECT * FROM klien;

    SELECT * FROM proyek;

    SELECT * FROM penugasan;

  3. Setelah selesai membuat database diatas, lanjutkan ke Praktikum – Bagian 2.

Praktikum – Bagian 2: Percobaan SELECT QUERY

  1. Untuk menampilkan baris dengan suatu kondisi tertentu, digunakan statement SELECT dengan WHERE. Eksekusi SQL berikut untuk menampilkan (record) pada tabel karyawan yang memiliki kolom departemen_kode=’MKT’.

     SELECT nama 
     FROM karyawan 
     WHERE departemen_kode = 'MKT';
  2. Untuk menampilkan data dengan eliminasi data yang sama (duplicate), digunakan statement SELECT dengan DISTINCT. Eksekusi SQL berikut untuk menampilkan kolom total_jam dari tabel penugasan yang bernilai tidak sama.

     SELECT DISTINCT total_jam 
     FROM penugasan;
  3. Untuk menampilkan data yang spesifik digunakan statement SELECT dengan IN. Eksekusi SQL berikut untuk menampilkan kolom nim dan nik dari tabel karyawan yang memiliki gaji 3100000 atau 6900000.

     SELECT nik, nama 
     FROM karyawan 
     WHERE gaji IN (3100000,6900000);
  4. Untuk menampilkan data pada jarak (range) tertentu digunakan statement SELECT dengan BETWEEN. Eksekusi SQL berikut untuk menampilkan kolom nik dan nama dari tabel karyawan yang memiliki gaji diantara 2000000 dan 4000000.

     SELECT nik, nama 
     FROM karyawan 
     WHERE gaji 
     BETWEEN 2000000 AND 4000000;
  5. Untuk menampilkan data yang memiliki kemiripan dengan keyword yang diinginkan digunakan SELECT dengan LIKE. Eksekusi SQL berikut untuk menampilkan kolom nama, alamat, dan jenis pada tabel klien yang memiliki nama dengan huruf awal ‘a’.

    SELECT nama, alamat, jenis FROM klien WHERE nama like 'a%';

  6. Untuk menampilkan susunan data dalam bentuk grup, digunakan SELECT dengan GROUP BY. Eksekusi SQL berikut untuk menampilkan kolom nik, nama, gaji, dan departemen_kode pada tabel karyawan yang dikelompokkan berdasarkan gaji.

     SELECT nik, nama, gaji, departemen_kode 
     FROM karyawan 
     GROUP BY gaji;
  7. Untuk menampilkan baris secara spesifik dan terurut maju atau mundur, digunakan SELECT dengan ORDER BY. Eksekusi SQL berikut untuk menampilkan kolom nama dan tanggal_mulai pada tabel proyek dari tanggal yang paling lama hingga baru.

     SELECT nama, tanggal_mulai 
     FROM proyek 
     ORDER BY tanggal_mulai ASC;
  8. Untuk menampilkan data dengan kondisi dan atau atau tidak, digunakan SELECT dengan AND, OR and NOT. Eksekusi SQL berikut untuk menampilkan semua kolom pada tabel karyawan dengan jenis kelamin ‘WANITA’ dan gaji < 5000000.

     SELECT * 
     FROM karyawan 
     WHERE jenis_kelamin = 'WANITA' AND gaji < 5000000;
  9. Untuk menampilkan data dari kolom yang terlibat dalam dua tabel dapat digunakan SELECT dengan UNION. UNION secara otomatis akan menghilangkan duplikasi. Eksekusi SQL berikut untuk menampilkan kolom nik yang yang ada di tabel penugasan atau departemen.

     SELECT nik 
     FROM penugasan 
     UNION ALL 
     SELECT nik_manajer FROM departemen;
  10. Untuk menampilkan data dari kolom yang terlibat dalam dua tabel dapat digunakan SELECT dengan UNION ALL. UNION ALL juga akan menampilkan duplikasi data. Eksekusi SQL berikut untuk menampilkan kolom nik yang yang ada di tabel penugasan atau departemen.

    SELECT nik 
    FROM penugasan 
    UNION ALL 
    SELECT nik_manajer FROM departemen;
  11. Setelah berhasil mengeksekusi SQL tersebut, lanjutkan ke Praktikum - Bagian 3.

Praktikum - Bagian 3: Percobaan SELECT Sub-Query

  1. Untuk menampilkan data (test keanggotaan sub-query) yang berasal dari pemilihan tampilan data lain digunakan tambahan statement IN. Eksekusi SQL berikut untuk menampilkan kolom nomor_proyek, nik, total_jam pada tabel penugasan dimana total_jam adalah total_jam yang paling lama pada tabel penugasan.

     SELECT nomor_proyek, nik, total_jam 
     FROM penugasan 
     WHERE total_jam 
     in (SELECT MAX(total_jam) FROM penugasan);
  2. Untuk menampilkan data (perbandingan himpunan sub-query) yang berasal dari pemilihan tampilan data lain digunakan tambahan operator. Eksekusi SQL berikut untuk menampilkan kolom nomor_proyek, nik, total_jam pada tabel penugasan berdasarkan semua record kolom total_jam harus bernilai kurang dari total_jam yang dimiliki oleh nomor proyek 1 dari tabel penugasan.

     SELECT nomor_proyek, nik, total_jam 
     FROM penugasan 
     WHERE total_jam < ALL (SELECT total_jam FROM penugasan WHERE nomor_proyek = 1);
  3. Setelah berhasil mengeksekusi SQL tersebut, lanjutkan ke Praktikum - Bagian 4.

Praktikum - Bagian 4: Percobaan FUNGSI AGREGASI

  1. Untuk menghitung rata-rata, digunakan tambahan statement AVG. Eksekusi SQL berikut untuk menampilkan rata-rata gaji sesuai kolom gaji dari tabel karyawan.

    SELECT AVG(gaji) FROM karyawan;

  2. Untuk menghitung nilai tertinggi, digunakan tambahan statement MAX. Eksekusi SQL berikut untuk menampilkan gaji tertinggi sesuai kolom gaji dari tabel karyawan.

    SELECT MAX(gaji) FROM karyawan;

  3. Untuk menghitung nilai terendah, digunakan tambahan statement MIN. Eksekusi SQL berikut untuk menampilkan gaji terendah sesuai kolom gaji dari tabel karyawan.

    SELECT MIN(gaji) FROM karyawan;

  4. Untuk menghitung total gaji keseluruhan digunakan tambahan statement SUM. Eksekusi SQL berikut untuk menampilkan total gaji sesuai kolom gaji dari tabel karyawan.

    SELECT SUM(gaji) FROM karyawan

  5. Untuk menunjukkan jumlah baris pada kolom yang diinginkan digunakan COUNT(). Eksekusi SQL berikut untuk menampilkan jumlah baris pada kolom dari tabel karyawan.

    SELECT COUNT(gaji) FROM karyawan;

PreviousMySQL - Data Manipulation Language (DML)NextMySQL - Select JOIN

Last updated 4 years ago

Was this helpful?