Praktikum Database 1
- CREATE TABLE: digunakan untuk membuat table tertentu yang di ikuti nama table
- tb_pengguna: merupakan nama table yang akan di buat (bebas)
- ALTER TABLE: digunakan untuk merubah tabel
- 'tb_pengguna': adalah nama tabel yang ingin di tambahkan constraint unique
- ADD: digunaan untuk menambahkan constraint
- UNIQUE INDEX: digunakan untuk memastikan bahwa tidak ada nilai duplikat yang diperbolehkan dalam kolom tertentu pada sebuah tabel
ALTER TABLE 'tb_pengguna' ADD INDEX 'index_n_nt_pengguna' ('nama','no_telp');
- ALTER TABLE: digunakan untuk merubah tabel
- 'tb_pengguna': adalah nama tabel
- ADD: digunakan untuk menambahkan constraint
- INDEX: digunakan untuk mempermudah pencarian data
- 'index_n_nt_pengguna': merupakan nama index (bebas)
- ('nama','no_telp'): field apa saja yang ingin di tambahkan index tersebut
- ALTER TABLE: digunakan untuk merubah tabel
- 'tb_pengguna': adalah nama tabel
- CHANGE : digunakan untuk mengganti/merubah field/data
- COLUMN: untuk menentukan yang ingin dirubah yaitu kolom
- 'nama': yang pertama untuk mendefinisikan field mana yang ingin di rubah
- 'nama' VARCHAR(250): untuk menentukan dirubah seperti apa field tersebut
5.Insert Data Into Table tb_pengguna:
- INSERT INTO: digunakan untuk menambahkan data pada tabel
- tb_pengguna: merupakan apa nama tabel yang ingin di tambahkan (opsional)
- VALUES: kata kunci yang digunakan untuk memasukkan nilai atau data ke dalam sebuah tabel
- Di ikuti dengan data/nilai yang ingin di tambahkan ke dalam tabel
- CREATE TABLE: digunakan untuk membuat table tertentu yang di ikuti nama table
- tb_team: merupakan nama table yang akan di buat (bebas)
- CREATE TABLE: digunakan untuk membuat table tertentu yang di ikuti nama table
- tb_koordinator: merupakan nama table yang akan di buat (bebas)
- ALTER TABLE: digunakan untuk merubah tabel
- 'tb_team': adalah nama tabel yang ingin ditambahkan FOREIGN KEY
- ADD CONSTRAINT: digunakan untuk menambahkan constraint pada tabel
- FK_idk_idk: nama constraint foreign key (bebas)
- FOREIGN KEY: Constraint apa yang ingin di tambahkan
- ('id_koordinator'): field apa yang ingin di tambahkan constraint FOREIGN KEY
- REFERENCES tb_koordinator (`id_koordinator`): Untuk menjadi acuan tb_team kepada tabel koordinator pada field 'id_koordinator'
- INSERT INTO: digunakan untuk menambahkan data pada tabel
- tb_team/koordinator: merupakan apa nama tabel yang ingin di tambahkan (opsional)
- VALUES: kata kunci yang digunakan untuk memasukkan nilai atau data ke dalam sebuah tabel
- Di ikuti dengan data/nilai yang ingin di tambahkan ke dalam tabel
- SELECT:Digunakan untuk mengambil data dari satu atau beberapa tabel.
- * : untuk melaksanakan SELECT pada seluruh informasi pada tabel.
- FROM: digunakan untuk menginisialisasi nama tabel, diiringi nama tabel di belakangnya.
- SELECT:Digunakan untuk mengambil data dari satu atau beberapa tabel.
- 'nama': adalah nama field apa yang ingin di tampilkan
- FROM: digunakan untuk menginisialisasi nama tabel, diiringi nama tabel di belakangnya
- tb_pengguna: nama tabel apa yang ingin di tampilkan
.png)
- SELECT:Digunakan untuk mengambil data dari satu atau beberapa tabel.
- * : untuk melaksanakan SELECT pada seluruh informasi pada tabel.
- 'FROM: digunakan untuk menginisialisasi nama tabel, diiringi nama tabel di belakangnya.
- 'tb_pengguna': adalah nama tabel apa yang ingin di tampilkan
- WHERE: digunakan buat menginisialisasi kolom tertentu.
- nama': adalah nama field apa yang ingin di tampilkan
- LIKE: sebagai operator pencocokan pola (pattern matching) dalam pencarian data.
- satrio%: untuk mengambil data yang di berawal kata 'satrio'
.png)
- SELECT: digunakan untuk mengambil data dari satu atau beberapa tabel.
- * : untuk melaksanakan SELECT pada seluruh informasi pada tabel.
- FROM: digunakan untuk menginisialisasi nama tabel, diiringi nama tabel di belakangnya.
- tb_team/tb_koordinator: nama tabel apa yang ingin di gabungkan
- AS a / AS b: alias untuk tb_team / tb_koordinator
- INNER JOIN: untuk menggabungkan dua tabel berdasarkan kolom yang memiliki nilai yang sama di kedua tabel
- ON: penggabungan antara kedua tabel tersebut, yaitu field id_koordinator pada tabel tb_team harus sama dengan kolom id_koordinator pada tabel tb_koordinator.
- SELECT: digunakan untuk mengambil data dari satu atau beberapa tabel.
- * : untuk melaksanakan SELECT pada seluruh informasi pada tabel.
- FROM: digunakan untuk menginisialisasi nama tabel, diiringi nama tabel di belakangnya.
- tb_team: nama tabel apa yang ingin di gabungkan
- AS a / AS b: alias untuk tb_team / tb_koordinator
- LEFT JOIN: menggabungkan dua tabel berdasarkan kolom tertentu, tetapi mencakup semua baris dari tabel di sebelah kiri dan hanya baris yang sesuai dari tabel di sebelah kanan.
- ON: penggabungan antara kedua tabel tersebut, yaitu field id_koordinator pada tabel tb_team harus sama dengan kolom id_koordinator pada tabel tb_koordinator.
- SELECT: digunakan untuk mengambil data dari satu atau beberapa tabel.
- * : untuk melaksanakan SELECT pada seluruh informasi pada tabel.
- FROM: digunakan untuk menginisialisasi nama tabel, diiringi nama tabel di belakangnya.
- tb_team: nama tabel apa yang ingin di gabungkan
- AS a / AS b: alias untuk tb_team / tb_koordinator
- RIGHT JOIN: untuk menggabungkan dua tabel berdasarkan kunci primernya, dan mengambil semua baris dari tabel kanan, serta baris yang sesuai dari tabel kiri dalam kondisi yang diberikan.
- ON: penggabungan antara kedua tabel tersebut, yaitu field id_koordinator pada tabel tb_team harus sama dengan kolom id_koordinator pada tabel tb_koordinator.
ALTER TABLE tb_pengguna RENAME to tb_anggota;
- ALTER TABLE: digunakan untuk merubah tabel
- 'tb_pengguna': adalah nama tabel yang ingin diubah namanya
- to: digunakan untuk mendeklarasikan 'ke'
- 'tb_anggota': adalah nama tabel yang baru
ALTER TABLE tb_anggota ADD COLUMN team INT;
- ALTER TABLE: digunakan untuk merubah tabel
- 'tb_anggota': adalah nama tabel yang ingin di tambahkan kolom baru
- ADD COLUMN: adalah perintah untuk menambahkan kolom ke tabel
- team: adalah nama kolom yang akan di tambahkan
- INT: adalah tipe data untuk kolom yang akan di tambahkan
18.Add Relation Between Tb_anggota And Tb_team
SELECT * FROM tb_anggota AS a LEFT JOIN
tb_team AS b ON a.team = b.nama_team;
- SELECT: digunakan untuk mengambil data dari satu atau beberapa tabel.
- * : untuk melaksanakan SELECT pada seluruh informasi pada tabel.
- FROM: digunakan untuk menginisialisasi nama tabel, diiringi nama tabel di belakangnya.
- tb_anggota/tb_team: nama tabel apa yang ingin di gabungkan
- AS a / AS b: alias untuk tb_anggota / tb_team
- LEFT JOIN: menggabungkan dua tabel berdasarkan kolom tertentu, tetapi mencakup semua baris dari tabel di sebelah kiri dan hanya baris yang sesuai dari tabel di sebelah kanan
- ON: penggabungan antara kedua tabel tersebut, yaitu field id_koordinator pada tabel tb_team harus sama dengan kolom id_koordinator pada tabel tb_koordinator.
19.Truncate All Table
TRUNCATE tb_anggota;
TRUNCATE tb_team;
TRUNCATE tb_koordinator;
- TRUNCATE: perintah yang digunakan untuk mengosongkan/menghapus semua isi tabel
- tb_anggota/tb_team/tb_koordinator: nama tabel yang ingin di TRUNCATE/dikosongkan
INSERT INTO tb_koordinator VALUES
-> (101, 'Agus'),
-> (102, 'Budi'),
-> (103, 'Citra'),
-> (104, 'Dewi'),
-> (105, 'Eka');
- INSERT INTO: digunakan untuk menambahkan data pada tabel
- tb_koordinator: adalah apa nama tabel yang ingin di tambahkan (opsional)
- VALUES: kata kunci yang digunakan untuk memasukkan nilai atau data ke dalam sebuah tabel
- Di ikuti dengan data/nilai yang ingin di tambahkan ke dalam tabel
-> (201,'Elang',101),
-> (202,'Merpati',102),
-> (203,'Pipit',103),
-> (204,'Garuda',104),
-> (205,'Blue Bird',NULL),
-> (206,'Love Bird',NULL);
- INSERT INTO: digunakan untuk menambahkan data pada tabel
- tb_team: adalah apa nama tabel yang ingin di tambahkan (opsional)
- VALUES: kata kunci yang digunakan untuk memasukkan nilai atau data ke dalam sebuah tabel
- Di ikuti dengan data/nilai yang ingin di tambahkan ke dalam tabel
22.Insert Data Into Table tb_anggota at least 60 data with some of field team
from
tb_team and some field team with null values
INSERT INTO tb_anggota VALUES
-> ('agus.s', 'Agus Santoso', 'agus@example.com', '081234567890', '201'),
-> ('adi.w', 'Adi Wibowo', 'adi@example.com', '082345678901', '201'),
-> ('ari.p', 'Ari Prasetyo', 'ari@example.com', '083456789012', '201'),
-> ('dewi.s', 'Dewi Setyawati', 'dewi@example.com', '084567890123', NULL),
-> ('ega.p', 'Ega Putri', 'ega@example.com', '085678901234', '201'),
-> ('eni.s', 'Eni Sari', 'eni@example.com', '086789012345', '201'),
-> ('fauzi.r', 'Fauzi Rahman', 'fauzi@example.com', '087890123456', '201'),
-> ('gilang.p', 'Gilang Pratama', 'gilang@example.com', '088901234567', '201'),
-> ('hendra.a', 'Hendra Agus', 'hendra@example.com', '089012345678', NULL),
-> ('ida.m', 'Ida Mulyani', 'idaa@example.com', '089123456789', '201'),
-> ('joko.p', 'Joko Priyono', 'joko@example.com', '081234567890', NULL),
-> ('jati.s', 'Jati Surya', 'jati@example.com', '082345678901', '202'),
-> ('kiki.m', 'Kiki Maulana', 'kiki@example.com', '083456789012', '202'),
-> ('lia.k', 'Lia Kurnia', 'lia@example.com', '084567890123', '202'),
-> ('lina.s', 'Lina Setiawati', 'linaa@example.com', '085678901234', NULL),
-> ('mira.s', 'Mira Sari', 'mira@example.com', '086789012345', '202'),
-> ('nana.f', 'Nana Farida', 'nana@example.com', '087890123456', '202'),
-> ('ogi.r', 'Ogi Ramadhan', 'ogi@example.com', '088901234567', NULL),
-> ('putri.s', 'Putri Sari', 'putri@example.com', '089012345678', '202'),
-> ('rio.p', 'Rio Purnama', 'rio@example.com', '089123456789', '202'),
-> ('sinta.w', 'Sinta Wijaya', 'sinta@example.com', '081234567890', '203'),
-> ('susi.a', 'Susi Agustin', 'susi@example.com', '087768987978', NULL),
-> ('sari.p', 'Sari Pratiwi', 'sarii@example.com', '082345678901', '203'),
-> ('tika.s', 'Tika Setiawan', 'tika@example.com', '083456789012', '203'),
-> ('tomo.p', 'Tomo Priyadi', 'tomo@example.com', '084567890123', '203'),
-> ('umi.k', 'Umi Kurniati', 'umi@example.com', '085678901234', '203'),
-> ('vivi.s', 'Vivi Susanti', 'vivi@example.com', '086789012345', NULL),
-> ('wawan.s', 'Wawan Santoso', 'wawan@example.com', '087890123456', '203'),
-> ('yani.s', 'Yani Susanto', 'yani@example.com', '088901234567', '203'),
-> ('zaki.r', 'Zaki Rahman', 'zaki@example.com', '089012345678', '203'),
-> ('zena.f', 'Zena Fitriani', 'zena@example.com', '089123456789', '203'),
-> ('anton.n', 'Anton Nugroho', 'anton@example.com', '081234567890', '204'),
-> ('anita.s', 'Anita Sari', 'anita@example.com', '082345678901', '204'),
-> ('budi.p', 'Budi Prasetyo', 'budi@example.com', '083456789012', '24'),
-> ('cici.s', 'Cici Setiawan', 'cici@example.com', '084567890123', NULL),
-> ('deni.a', 'Deni Agus', 'deni@example.com', '085678901234', '204'),
-> ('eko.w', 'Eko Wibowo', 'eko@example.com', '086789012345', NULL),
-> ('fitra.m', 'Fitra Maulana', 'fitra@example.com', '087890123456', '204'),
-> ('gita.r', 'Gita Ramadhani', 'gita@example.com', '088901234567', '204'),
-> ('hani.s', 'Hani Sari', 'hani@example.com', '089012345678', '204'),
-> ('ida.n', 'Ida Nurhayati', 'ida@example.com', '089123456789', '204'),
-> ('jaka.p', 'Jaka Putra', 'jaka@example.com', '081234567890', '205'),
-> ('joni.s', 'Joni Susanto', 'joni@example.com', '082345678901', '205'),
-> ('kunto.p', 'Kunto Prasetyo', 'kunto@example.com', '083456789012', '205'),
-> ('lina.r', 'Lina Rizki', 'lina@example.com', '084567890123', '205'),
-> ('maya.s', 'Maya Sari', 'maya@example.com', '085678901234', '205'),
-> ('nisa.f', 'Nisa Fitriani', 'nisa@example.com', '086789012345', '205'),
-> ('opik.r', 'Opik Ramadhan', 'opik@example.com', '087890123456', '205'),
-> ('purwanto.p', 'Purwanto Prasetyo', 'purwanto@example.com', '088901234567', '205'),
-> ('rani.s', 'Rani Susanti', 'rani@example.com', '089012345678', '205'),
-> ('sari.a', 'Sari Amelia', 'sari@example.com', '089123456789', NULL),
-> ('toni.s', 'Toni Susanto', 'toni@example.com', '081234567890', NULL),
-> ('udin.p', 'Udin Prasetyo', 'udin@example.com', '082345678901', '206'),
-> ('vina.r', 'Vina Ramadhani', 'vina@example.com', '083456789012', '206'),
-> ('wira.s', 'Wira Setiawan', 'wira@example.com', '084567890123', '206'),
-> ('xena.f', 'Xena Fitriani', 'xena@example.com', '085678901234', '206'),
-> ('yoga.p', 'Yoga Pratama', 'yoga@example.com', '086789012345', '206'),
-> ('zain.r', 'Zain Rahman', 'zain@example.com', '087890123456', NULL),
-> ('aida.s', 'Aida Sari', 'aida@example.com', '088901234567', '206'),
-> ('bambang.p', 'Bambang Prasetyo', 'bambang@example.com', '089012345678', '206'),
-> ('cinta.s', 'Cinta Susanti', 'cinta@example.com', '089123456789', '206');
- INSERT INTO: digunakan untuk menambahkan data pada tabel
- tb_team: adalah apa nama tabel yang ingin di tambahkan (opsional)
- VALUES: kata kunci yang digunakan untuk memasukkan nilai atau data ke dalam sebuah tabel
- Di ikuti dengan data/nilai yang ingin di tambahkan ke dalam tabel
23.Get Data From 3 All Table With Null Data From Table Tb_koordinator
SELECT a.nama as nama , b.nama_team as team, c.nama as koordinator
FROM tb_anggota a RIGHT JOIN tb_team b ON a.team = b.id_teamRIGHT JOIN tb_koordinator c ON b.id_koordinator = c.id_koordinator;
- SELECT: Ini adalah perintah untuk memilih kolom atau data yang ingin diambil dari tabel.
- a.nama as nama: untuk memilih kolom 'nama' dari tabel 'tb_anggota', dan memberikan nama alias 'nama' untuk kolom tersebut.
- b.nama_team as team: untuk memilih kolom 'nama_team' dari tabel 'tb_team', dan memberikan nama alias 'team' untuk kolom tersebut.
- c.nama as koordinator: untuk memilih kolom 'nama' dari tabel 'tb_koordinator', dan memberikan nama alias 'koordinator' untuk kolom tersebut.
- FROM: untuk menentukan tabel atau sumber data yang ingin digunakan dalam perintah SELECT.
- RIGHT JOIN:untuk menggabungkan dua tabel atau lebih dengan mengambil data dari kedua tabel yang memiliki kesamaan berdasarkan kolom yang ditentukan. RIGHT JOIN digunakan untuk mempertahankan semua baris dari tabel kanan dan baris yang cocok dari tabel kiri.
- tb_koordinator: nama tabel kedua yang di-join dengan tabel tb_barang.
- c: alias untuk tabel kedua tb_koordinator untuk menghemat pengetikan nanti.
- ON: merupakan bagian yang menentukan kriteria join di mana data dari kedua tabel akan di-join berdasarkan nilai kolom yang sama di kedua tabel.
- b.id_koordinator: nama kolom pada tabel pertama (tb_barang) yang akan digunakan sebagai kunci join.
- c.id_koordinator: nama kolom pada tabel kedua (tb_koordinator) yang akan digunakan sebagai kunci join.
SELECT a.nama as nama , b.nama_team as team, c.nama as koordinator
- SELECT: Ini adalah perintah untuk memilih kolom atau data yang ingin diambil dari tabel.
- a.nama as nama: untuk memilih kolom 'nama' dari tabel 'tb_anggota', dan memberikan nama alias 'nama' untuk kolom tersebut.
- b.nama_team as team: untuk memilih kolom 'nama_team' dari tabel 'tb_team', dan memberikan nama alias 'team' untuk kolom tersebut.
- c.nama as koordinator: untuk memilih kolom 'nama' dari tabel 'tb_koordinator', dan memberikan nama alias 'koordinator' untuk kolom tersebut.
- FROM: untuk menentukan tabel atau sumber data yang ingin digunakan dalam perintah SELECT.
- INNER JOIN:untuk menggabungkan dua tabel berdasarkan kolom yang memiliki nilai yang sama di kedua tabel.
- tb_koordinator: nama tabel kedua yang di-join dengan tabel tb_barang.
- c: alias untuk tabel kedua tb_koordinator untuk menghemat pengetikan nanti.
- ON: merupakan bagian yang menentukan kriteria join di mana data dari kedua tabel akan di-join berdasarkan nilai kolom yang sama di kedua tabel.
- b.id_koordinator: nama kolom pada tabel pertama (tb_barang) yang akan digunakan sebagai kunci join.
- c.id_koordinator: nama kolom pada tabel kedua (tb_koordinator) yang akan digunakan sebagai kunci join.
- SELECT: Ini adalah perintah untuk memilih kolom atau data yang ingin diambil dari tabel.
- a.nama as nama: untuk memilih kolom 'nama' dari tabel 'tb_anggota', dan memberikan nama alias 'nama' untuk kolom tersebut.
- b.nama_team as team: untuk memilih kolom 'nama_team' dari tabel 'tb_team', dan memberikan nama alias 'team' untuk kolom tersebut.
- c.nama as koordinator: untuk memilih kolom 'nama' dari tabel 'tb_koordinator', dan memberikan nama alias 'koordinator' untuk kolom tersebut.
- FROM: untuk menentukan tabel atau sumber data yang ingin digunakan dalam perintah SELECT.
- tb_anggota a: untuk memilih tabel 'tb_anggota' dan memberikan alias 'a' untuk tabel tersebut.
- RIGHT JOIN: untuk menggabungkan dua tabel atau lebih dengan mengambil data dari kedua tabel yang memiliki kesamaan berdasarkan kolom yang ditentukan. RIGHT JOIN digunakan untuk mempertahankan semua baris dari tabel kanan dan baris yang cocok dari tabel kiri.
- tb_team b: perintah untuk memilih tabel 'tb_team' dan memberikan alias 'b' untuk tabel tersebut.
- ON a.team = b.id_team: perintah untuk menentukan kondisi join antara tabel 'tb_anggota' dan 'tb_team' berdasarkan kolom 'team' pada tabel 'tb_anggota' dan kolom 'id_team' pada tabel 'tb_team'.
- RIGHT JOIN: perintah untuk menggabungkan tabel 'tb_team' dengan tabel 'tb_koordinator' menggunakan RIGHT JOIN.
- tb_koordinator c:perintah untuk memilih tabel 'tb_koordinator' dan memberikan alias 'c' untuk tabel tersebut.
- ON b.id_koordinator c.id_koordinator: Ini adalah perintah untuk menentukan kondisi join antara tabel 'tb_team' dan 'tb_koordinator' berdasarkan kolom 'id_koordinator' pada tabel 'tb_team' dan kolom 'id_koordinator' pada tabel 'tb_koordinator'.
SELECT a.nama as nama , c.nama as koordinator FROM tb_anggota a
INNER JOIN tb_team b ON a.team = b.id_team
INNER JOIN tb_koordinator c ON b.id_koordinator = c.id_koordinator;
- SELECT: Ini adalah perintah untuk memilih kolom atau data yang ingin diambil dari tabel.
- a.nama as nama: untuk memilih kolom 'nama' dari tabel 'tb_anggota', dan memberikan nama alias 'nama' untuk kolom tersebut.
- b.nama_team as team: untuk memilih kolom 'nama_team' dari tabel 'tb_team', dan memberikan nama alias 'team' untuk kolom tersebut.
- c.nama as koordinator: untuk memilih kolom 'nama' dari tabel 'tb_koordinator', dan memberikan nama alias 'koordinator' untuk kolom tersebut.
- FROM: untuk menentukan tabel atau sumber data yang ingin digunakan dalam perintah SELECT.
- tb_anggota a: untuk memilih tabel 'tb_anggota' dan memberikan alias 'a' untuk tabel tersebut.
- INNER JOIN:untuk menggabungkan dua tabel berdasarkan kolom yang memiliki nilai yang sama di kedua tabel.
- tb_team b: perintah untuk memilih tabel 'tb_team' dan memberikan alias 'b' untuk tabel tersebut.
- ON a.team = b.id_team: perintah untuk menentukan kondisi join antara tabel 'tb_anggota' dan 'tb_team' berdasarkan kolom 'team' pada tabel 'tb_anggota' dan kolom 'id_team' pada tabel 'tb_team'.
- INNER JOIN: perintah untuk menggabungkan tabel 'tb_team' dengan tabel 'tb_koordinator' menggunakan INNER JOIN.
- tb_koordinator c:perintah untuk memilih tabel 'tb_koordinator' dan memberikan alias 'c' untuk tabel tersebut.
- ON b.id_koordinator c.id_koordinator: Ini adalah perintah untuk menentukan kondisi join antara tabel 'tb_team' dan 'tb_koordinator' berdasarkan kolom 'id_koordinator' pada tabel 'tb_team' dan kolom 'id_koordinator' pada tabel 'tb_koordinator'.
SELECT a.nama as nama , c.nama as koordinator FROM tb_anggota a
INNER JOIN tb_team b ON a.team = b.id_team
INNER JOIN tb_koordinator c ON b.id_koordinator = c.id_koordinator ORDER BY a.nama ASC;
- SELECT a.nama as nama, c.nama as koordinator: Query ini memilih dua kolom yaitu nama dari tabel tb_anggota dan nama dari tabel tb_koordinator. Kemudian diberikan alias dengan menggunakan keyword as untuk kolom nama dari tabel tb_anggota menjadi nama dan untuk kolom nama dari tabel tb_koordinator menjadi koordinator.
- FROM tb_anggota a: menentukan bahwa kolom nama yang dipilih berasal dari tabel tb_anggota, dan diberikan alias a untuk tabel tersebut.
- INNER JOIN tb_team b ON a.team = b.id_team: untuk menggabungkan tabel tb_anggota dan tb_team berdasarkan kolom team dari tabel tb_anggota dan kolom id_team dari tabel tb_team.
- INNER JOIN tb_koordinator c ON b.id_koordinator = c.id_koordinator: untuk menggabungkan tabel tb_team dan tb_koordinator berdasarkan kolom id_koordinator dari kedua tabel.
- ORDER BY a.nama ASC: Query ini mengurutkan hasil akhir berdasarkan kolom nama dari tabel tb_anggota secara ascending atau dari yang terkecil ke terbesar/ A - Z.
SELECT b.nama_team, COUNT(a.userid) as jumlah_orang FROM tb_anggota AS a
LEFT JOIN tb_team AS b ON a.team = b.id_team
LEFT JOIN tb_koordinator AS c ON b.id_koordinator = c.id_koordinator
GROUP BY b.nama_team;
- SELECT: digunakan untuk mengambil data dari satu atau beberapa tabel.
- COUNT(a.userid) as jumlah_anggota: Digunakan untuk menghitung jumlah anggota dalam setiap tim, dengan menggunakan fungsi COUNT pada kolom userid dari tabel tb_anggota. Jumlah anggota kemudian ditampilkan dalam hasil query dengan alias jumlah_orang.
- FROM tb_anggota AS a : Digunakan untuk menunjukkan bahwa tabel tb_anggota akan digunakan dalam query, dengan menggunakan alias a.
- LEFT JOIN tb_team AS b ON a.team = b.id_team : Digunakan untuk menggabungkan tabel tb_anggota dan tb_team berdasarkan kolom team dari tabel tb_anggota yang sama dengan kolom id_team dari tabel tb_team. LEFT JOIN digunakan untuk mempertahankan semua baris dari tabel tb_team bahkan jika tidak ada baris yang cocok di tabel tb_anggota.
- LEFT JOIN tb_koordinator AS c ON b.id_koordinator = c.id_koordinator : Digunakan untuk menggabungkan tabel tb_team dengan tb_koordinator berdasarkan kolom id_koordinator.LEFT JOIN digunakan untuk mempertahankan semua baris dari tabel tb_team bahkan jika tidak ada baris yang cocok di tabel tb_koordinator.
- GROUP BY b.nama_team : Digunakan untuk mengelompokkan hasil query berdasarkan nama tim dari tabel tb_team. Ini memungkinkan kita untuk menampilkan jumlah anggota dalam setiap tim secara terpisah.
SELECT c.nama, COUNT(a.userid) as jumlah_anggota FROM tb_anggota AS a
LEFT JOIN tb_team AS b ON a.team = b.id_team
LEFT JOIN tb_koordinator AS c ON b.id_koordinator = c.id_koordinator
GROUP BY c.nama HAVING COUNT(a.userid) >= 5;
- SELECT: digunakan untuk mengambil data dari satu atau beberapa tabel.
- COUNT(a.userid) as jumlah_anggota: Perintah COUNT digunakan untuk menghitung jumlah baris dalam sebuah tabel. Pada query di atas, COUNT(a.userid) digunakan untuk menghitung jumlah baris pada kolom "userid" dari tabel "tb_anggota", dan hasil perhitungan tersebut diberikan alias dengan nama "jumlah_anggota".
- FROM tb_anggota AS a: Perintah FROM digunakan untuk menentukan tabel mana yang akan digunakan dalam query. Pada query di atas, perintah FROM digunakan untuk memilih tabel "tb_anggota" dan memberikan alias dengan nama "a".
- LEFT JOIN tb_team AS b ON a.team = b.id_team: LEFT JOIN digunakan untuk menggabungkan data dari tabel "tb_anggota" (diberikan alias "a") dan tabel "tb_team" (diberikan alias "b") berdasarkan nilai pada kolom "team" dari tabel "tb_anggota" dan kolom "id_team" dari tabel "tb_team".
- LEFT JOIN tb_koordinator AS c ON b.id_koordinator = c.id_koordinator: LEFT JOIN digunakan untuk menggabungkan data dari tabel "tb_team" (diberikan alias "b") dan tabel "tb_koordinator" (diberikan alias "c") berdasarkan nilai pada kolom "id_koordinator" dari tabel "tb_team" dan kolom "id_koordinator" dari tabel "tb_koordinator".
- GROUP BY c.nama: Perintah GROUP BY digunakan untuk mengelompokkan data berdasarkan nilai pada kolom tertentu. Pada query ini, GROUP BY digunakan untuk mengelompokkan data berdasarkan nilai pada kolom "nama" dari tabel "tb_koordinator".
- HAVING COUNT(a.userid) >= 5 :Perintah HAVING digunakan untuk menentukan kondisi untuk pengelompokan data yang dihasilkan oleh GROUP BY. Pada query di atas, HAVING digunakan untuk memfilter data yang dihasilkan oleh pengelompokan dengan kondisi jumlah anggota setiap tim yang sama dengan atau lebih besar dari 5 orang. Kondisi tersebut diterapkan pada kolom "userid" dari tabel "tb_anggota".
CREATE VIEW daftar_nama AS
SELECT a.nama as nama , c.nama as koordinator FROM tb_anggota a
INNER JOIN tb_team b ON a.team = b.id_team
INNER JOIN tb_koordinator c ON b.id_koordinator = c
- CREATE VIEW daftar_nama AS: Command ini membuat sebuah view baru yang bernama daftar_nama.
- SELECT a.nama as nama , c.nama as koordinator: Command ini memilih dua kolom dari tabel-tabel yang akan digunakan untuk membuat view: a.nama dari tabel tb_anggota (yang merepresentasikan nama anggota), dan c.nama dari tabel tb_koordinator (yang merepresentasikan nama koordinator). Kata kunci as digunakan untuk memberikan alias pada nama kolom, yang akan digunakan untuk merujuk pada kolom-kolom tersebut di dalam view.
- FROM tb_anggota a: Command ini menentukan tabel tb_anggota dan memberikan alias a pada tabel tersebut.
- INNER JOIN tb_team b ON a.team = b.id_team: Command ini melakukan inner join antara tabel tb_anggota (a) dan tb_team (b) berdasarkan kolom team di tabel tb_anggota dan kolom id_team di tabel tb_team.
- INNER JOIN tb_koordinator c ON b.id_koordinator = c: Command ini melakukan inner join antara tabel tb_team (b) dan tb_koordinator (c) berdasarkan kolom id_koordinator di tabel tb_team dan kolom id di tabel tb_koordinator.
SELECT a.nama as nama , c.nama as koordinator FROM tb_anggota a
INNER JOIN tb_team b ON a.team = b.id_team
INNER JOIN tb_koordinator c ON b.id_koordinator = c.id_koordinator;
- CREATE TABLE temp_dataname: membuat sebuah tabel baru bernama "temp_dataname". Tabel ini belum memiliki isi data, namun kita sudah menentukan struktur tabel yang akan digunakan.
- SELECT a.nama as nama , c.nama as koordinator FROM tb_anggota a: memilih kolom "nama" dari tabel "tb_anggota" dan memberi alias "nama" pada kolom tersebut. Aliasan ini akan digunakan pada command selanjutnya.
- INNER JOIN tb_team b ON a.team = b.id_team: melakukan operasi JOIN antara tabel "tb_anggota" dan "tb_team". Kondisi yang digunakan untuk JOIN adalah kolom "team" pada tabel "tb_anggota" sama dengan kolom "id_team" pada tabel "tb_team".
- INNER JOIN tb_koordinator c ON b.id_koordinator = c.id_koordinator;: melakukan operasi JOIN antara tabel "tb_team" dan "tb_koordinator". Kondisi yang digunakan untuk JOIN adalah kolom "id_koordinator" pada tabel "tb_team" sama dengan kolom "id_koordinator" pada tabel "tb_koordinator"
32.Truncate Table Temporary
- TRUNCATE: perintah yang digunakan untuk mengosongkan/menghapus semua isi tabel
- temp_dataname: nama temporary yang ingin di TRUNCATE/dikosongkan
33.Insert Data Into Table
Temporary From View Using Query Insert Data Using Select
INSERT INTO temp_dataname SELECT * FROM daftar_nama;
- INSERT INTO temp_dataname: perintah SQL untuk memasukkan data dari satu tabel ke dalam tabel lain. Dalam kasus ini, kita ingin memasukkan data ke dalam tabel temp_dataname.
- SELECT *: perintah untuk memilih semua kolom dari tabel daftar_nama.
- FROM daftar_nama - Ini adalah perintah untuk memilih view daftar_nama sebagai sumber data. Jadi, perintah SELECT * akan memilih semua kolom dari view daftar_nama.
ALTER TABLE table_name ADD COLUMN Captain BOOLEAN;
- ALTER TABLE: digunakan untuk merubah tabel
- 'tb_anggota': adalah nama tabel yang ingin di tambahkan kolom baru
- ADD COLUMN: adalah perintah untuk menambahkan kolom ke tabel
- Captain: adalah nama kolom yang akan di tambahkan
- BOOLEAN: adalah tipe data untuk kolom yang akan di tambahkan
- UPDATE tb_anggota set Captain =1 WHERE userid ='agus.s';
- UPDATE tb_anggota set Captain =1 WHERE userid ='aida.s';
- UPDATE tb_anggota set Captain =1 WHERE userid ='anita.s';
- UPDATE tb_anggota set Captain =1 WHERE userid ='jaka.p';
- UPDATE tb_anggota set Captain =1 WHERE userid ='sari.p';
- UPDATE tb_anggota: Perintah untuk memperbarui nilai di tabel tb_anggota.
- SET Captain = '1': Menetapkan nilai '1/TRUE' pada kolom Captain untuk setiap baris yang memenuhi kondisi.
- WHERE userid ='userid yang ingin di tambahkan captain': Kondisi yang harus dipenuhi agar nilai kolom jenis_kelamin diperbarui adalah nilai kolom userid yang sesuai dengan salah satu nilai dalam daftar nilai
- ALTER TABLE: digunakan untuk merubah tabel
- 'tb_anggota': adalah nama tabel yang ingin di tambahkan kolom baru
- ADD COLUMN: adalah perintah untuk menambahkan kolom ke tabel
- jenis_kelamin: adalah nama kolom yang akan di tambahkan
- ENUM: adalah tipe data untuk kolom yang akan di tambahkan
- ('L','P'): adalah ketentuan untuk enum jenis kelamin yaitu L atau P
- UPDATE tb_anggota: Perintah untuk memperbarui nilai di tabel tb_anggota.
- SET jenis_kelamin = 'L/P': Menetapkan nilai 'L/P' pada kolom jenis_kelamin untuk setiap baris yang memenuhi kondisi.
- WHERE userid IN (data yang ingin ditambahkan jenis kelamin): untuk menambahkan jenis kelamin pada kolom jenis kelamin menurut `userid` tersebut
- SELECT * FROM tb_anggota: perintah untuk memilih semua kolom dari tabel tb_anggota.
- AS a: memberi alias (nama lain) untuk tabel tb_anggota dan disebut dengan alias a. Alias digunakan untuk mempersingkat penulisan nama tabel pada perintah berikutnya.
- LEFT JOIN tb_team AS b ON a.team = b.id_team: perintah untuk menggabungkan tabel tb_anggota dengan tabel tb_team berdasarkan kolom team pada tabel tb_anggota yang sama dengan kolom id_team pada tabel tb_team. Digunakan left join karena semua anggota harus tercantum bahkan jika mereka tidak memiliki tim. Alias b diberikan untuk tabel tb_team.
- LEFT JOIN tb_koordinator AS c ON b.id_koordinator = c.id_koordinator: perintah untuk menggabungkan tabel tb_team yang sudah digabungkan dengan tabel tb_koordinator berdasarkan kolom id_koordinator pada tabel tb_team yang sama dengan kolom id_koordinator pada tabel tb_koordinator. Kembali digunakan left join karena tidak semua tim memiliki koordinator. Alias c diberikan untuk tabel tb_koordinator.
- ORDER BY a.nama ASC: perintah untuk mengurutkan hasil penggabungan tabel berdasarkan kolom nama pada tabel tb_anggota secara ascending (dari yang terkecil ke yang terbesar).
Komentar
Posting Komentar