Menampilkan Data yang tidak ada di table A dari table B dengan printah Join SQL

Selamat Sore semua, pada kesempatan kali ini saya ingin memberikan informasi dan sedikit ilmu mengenai dasar-dasar printah pada SQL database. printah SQL ini sering digunakan untuk orang-orang yang bekerja sebagai database administrator, application support, atau IT Support database. Oke langsung saja.

=Create Table=

digunakan untuk membuat tabel pada database. contohnya adalah: Create table simorder( nama varchar(20), ID int(8), Alamat varchar(20));

Dalam membuat tabel hal yang perlu diperhatikan adalah nama tabel, nama field tabel yaitu (nama), tipe datanya (varchar/int) dan jumlah data atau karakter yang akan diinput (20).

=Insert Data=

digunakan untuk memasukkan data kedalam tabel database. contohnya adalah insert into simorder values(‘adi’, 1, ‘Jakarta’);

Dalam memasukkan data kedalam tabel yang diperlu diperhatikan adalah, data yang diinput harus sesuai urutan dengan Field pada tabel yang telah dibuat, karena apabila berbeda, maka tipe data yang diinput tidak akan sesuai, dan command sql akan gagal. apabila ingin memasukkan karakter perlu ditambahkan tanda kutip 1 diawal dan akhir kata, contohnya adalah ‘nama’, ‘bekasi’. untuk interger atau number tidak perlu tanda kutip.

=Select Data=

digunakan untuk menampilkan data pada suatu tabel tertentu. contohnya adalah select * from simorder;

menampilkan semua data yang ada di tabel simorder. tanda bintang(*) disini artinya adalah semua/segala/keseluruhan.

apabila ingin ditampilkan secara detail contohnya adalah select nama, id, alamat from simorder;

=Table ke dua=

=Join Table=

Join table digunakan untuk menampilkan data dari 2 table yang berbeda menjadi 1 table secara keseluruhan yang menggunakan primary key pada suatu table dan foreign key pada table lainnya. dalam melakukan join table yang perlu diperhatikan adalah primary key yang sama yang digunakan sebagai penghubung antar kedua table. misalnya ID, kenapa ID karena biasanya ID itu memiliki karakteristik yang berbeda dan tidak mungkin sama 1 dengan yang lainnya. oleh sebab itu dijadikan sebuah data pembeda atau ciri khas dari data dalam 1 baris.

contohnya adalah select simorder.nama, simorder.id, serviceplan.nama, serviceplan.id from simorder join serviceplan;

bentuk perintah sql diatas merupakan bentuk umum apabila ingin menggabungkan (Join) kedua table, tapi sangat tidak direkomendasikan karena hasil yang ditampilkan acak dan tidak beraturan.

adapun bentuk umum lainnya yang lebih singkat adalah:

select a.nama, a.id, b.nama, b.id from simorder a join serviceplan b;

bentuk perintah diatas adalah bentuk umum yang lebih singkat karena menggunakan Alias, alias adalah suatu printah yang digunakan untuk mempersingkat nama table ketika ingin menampilkan sebuah field. kita juga bisa menambahkan sebuah kondisi (Where) apabila diperlukan sebuah nilai tertentu.

contohnya adalah select a.nama, a.id, b.nama, b.id from simorder a join serviceplan b where a.id = b.id;

jadi data yang ditampilkan adalah data dari tabel simorder IDnya harus sama dengan data yang ada di table serviceplan. apabila ada ID yang tidak sama antara kedua table, maka tidak akan muncul.

=Menampilkan Data yang tidak ada di Table A=

setelah kita mengetahui Join table, kita bisa mengembangkan perintah ini dengan hal yang lebih luas. contohnya seperti apabila kita ingin membuat sebuah report yang menampilkan data yang tidak ada di table satunya.

contohnya. Select a.nama, b.nama from simorder a join serviceplan b where b.id not in (Select a.id from simorder) group by b.id;

ini merupakan perintah pengembangan dari 2 buah printah join dan select. select didalam select biasa dikenal dengan subquerry, yaitu menampilkan data dengan menggunakan 2 buah select dalam satu printah SQL. hasilnya adalah

jadi pertama kita select field yang ingin kita tampilkan, yaitu nama, kemudian kita gabungkan nama di tabel simorder dan service plan, jadi kita tulis select a.nama, b.nama dari kedua tabel tersebut yaitu from simorder a join serviceplan b. karena kita ingin menampilkan data yang TIDAK ada di salah satu tabel, misal tabel simorder, maka kita menggunakan subquerry di dalam kondisi, yaitu where b.id not in (select a.id from simorder) dimana id di table service plan tidak ada di dalam id di table simorder. kemudian kita gunakan printah group by berdasarkan id yang ada di table serviceplan. yaitu group by b.id. group by sendiri artinya adalah pengelompokan, pengelompokan data berdasarkan data tertentu yang kita inginkan. misalnya kita ingin megelompokan data IDnya, berarti group by id.

jadi kurang lebih seperti itu.

terimakasih telah berkunjung kaka dan sista 🙂

Leave a comment