Sunday, November 17, 2019

SQL untuk Pemula Bagian 3

SQL untuk Pemula Bagian 3

SQL untuk Pemula Bagian 3
Sunday, November 17, 2019
Selamat pagi, hari minggu yang cerah di tempat gue. Melanjutkan tutorial mengenai SQL sebelumnya kali ini akan dibahas mengenai SQL bagian ketiga. Untuk yang belum membaca bagian sebelumnya silakan baca di sini.

SQL untuk Pemula bagian 2

Apa kalian tahu tujuan gue buat arikel ini? Sebenarnya gue mau buat catetan untuk gue sendiri si wkwk. Jadi bahasanya agak gak formal. Catetan kok bahasa formal bosenin lah.

Kita akan membahas mengenai


  • FOREIGN KEY
  • CROSS PRODUCT
  • INNER JOIN
  • NATURAL JOIN
  • LEFT JOIN
  • RIGHT JOIN
  • UNION
  • INTERSECT
  • EXCEPT
  • VARIABLE
  • PROCEDURE
  • FUNCTION
  • TRIGERRED
  • IF
  • LOOP

Kalian sudah ngerti cara masuk sql di terminal/command promp-kan. Untuk masuk ke mysql kalian ketik mysql -u username -p. Terus mysql akan meminta password kalian. Btw cara ini untuk mysql yang lokal loh. Kalok mau yang online kalian harus minimal punya hosting. Kalok gak salah cara opennya mysql -u username -p -h linkdatabaseonlinennya.

Kali ini gue masih menggunakan database info pada tutorial sebelumnya.

SQL FOREIGN KEY


FOREIGN KEY digunakna untuk menghbungkan table. Foreign key biasanya berisi koleksi dari primary key table yang akan dihubungkan. FOREIGN KEY biasanya digunakan saat pembuatan table atau bisa juga digunakan saat edit table. Contohnya


Foreign key diatas tidak diberikan nama, jadi kita tidak bisa menghapusnya. Untuk memberikan nama pada foreign key tambahkan constraint dibelakang foreign key. Contohnya.


Sekarang foreign key diatas dapat dihapus menggunakan sql query alter seperti dibawah ini:


Untuk menambahkan foreign key bisa juga menggunakan alter table. Seperti dibawah ini:


SQL CROSS PRODUCT


Cross join digunakan untuk menghubungkan table satu dengan table kedua. Cross join akan menghubungkan satu persatu semuanya. Jadi apabila table satu memiliki 4 value dan table dua memiliki 4 value maka hasilnya menjadi 16 value.

SELECT * FROM creator CROSS JOIN anime;

hasilnya akan menjadi seperti dibawah ini:


Dalam implementasiannya kita akan sangat jarang menggunakan cross join karena umumnya relasi hanya digunakan pada tabel yang memiliki hubungan.


SQL INNER JOIN


Inner join digunakan untuk menghubungkan relasi antar tabel. Pada inner join digunakan query ON untuk memberi tahu system bahwa akan ada kesamaan kolom. Contoh penggunaannya.

SELECT * FROM creator inner join anime on creator.id = anime.idCreator;

hasilnya akan menjadi seperti dibawah ini:


Jika tanpa menggunakan on maka hasil yang didapatkan akan sama dengan cross join.


SQL NATURAL JOIN


Natural join hampir mirip dengan inner join, natural join digunakan untuk relasi table satu dengan table lain, tetapi tidak membutuhkan on. Natural join biasanya digunakan saat nama kolom yang akan direlasikan sama. Tetapi dalam sql meskipun nama kolom berbeda akan mendapatkan hasil yang mirip. Saran saya jika akan merelasikan tabel dengan nama kolom berbeda gunakan inner join karena akan lebih jelas ketimbang natural join. Natural join lebih baik digunakan saat nama kolom dalam tabel yang akan direlasikan sama. Contoh natural join

SELECT * FROM creator NATURAL JOIN anime;


SQL LEFT JOIN


LEFT JOIN akan menampilkan semua hasil pada bagian sebelah kiri. Meskipun tidak ada relasinya contohnya.

SELECT * FROM creator LEFT JOIN anime ON creator.id = anime.idCreator


SQL RIGHT JOIN


SQL RIGHT JOIN kebalikan dari sql LEFT JOIN, sql right join akan menampilkan semua bagian kiri meskipun tidak di relasikan contohnya.

select * from anime right join creator on anime.idCreator = creator.id;


SKEMA DARI JOIN



SQL UNION, INTERSECT, EXCEPT


UNION digunakan untuk menggabungkan value dari dua tabel yang berbeda. Union hanya bisa dilakukan jika dan hanya jika semua kolom kedua tabel sama.

INTERSECT adalah irisan. sesuai dengan namanya digunakan untuk mengetahui irisan dari dua tabel.

EXCEPT adalah pengurangan. digunakan untuk mengetahui ada di tabel1 tidak ada ditabel 2.

Contohnya.

UNION
select * from anime where yearRelease is not null union select * from anime where yearRelease is null;


IRISAN
select * from anime where yearRelease is not null INTERSECT (select * from anime);



MINUS
SELECT * from anime where yearRelease is null EXCEPT (SELECT * from anime);

hasilnya akan kosong.

Skema Diatas


Itu dululah udah capek. yang procedure function triggered variabel besok :v. Jika gak ngerti komen aja. Ada dua gambar ambil google :v. Gue jujur ambil 2 gambar :v, ntar malah kayak calon apa itu wkwk.

Berkomentarlah secara bijak.
EmoticonEmoticon