Joining SQL Table

 A ....note to remember

 
 
Diposting oleh ilham arditya on Rabu, 06 November 2013

sumber:http://om-tedjo.blogspot.com/2013/11/tutorial-query-sql-cara-join-atau.html


Membuat tabel

--------------

create table tbldivisi(

id_divisi int(10) not null primary key,

ket_divisi varchar(10) null)




-----------------------------

Memasukan baris kedalam tabel

-----------------------------

insert into dbpegawai.tbldivisi(

id_divisi, ket_divisi)

values('1', 'Training')




---------------------------------------------

ganti isi dibaris atau edit atau update data

---------------------------------------------

update dbpegawai.tbldivisi

set nama='Ofice boy'

where tbldivisi.id_divisi=1




--------------

melihat table

--------------

select * from tbldivisi



--------------------------

menghapus data pada baris

--------------------------

delete from dbpegawai.tbldivisi where nomor=1




----------------

menghapus table

----------------

drop table tbldivisi




• Untuk menampilkan kolom (field) nomor dan nama pada tabel anggota=

select id_divisi, ket_divisi from tbldivisi;



• Untuk menampilkan semua kolom(field) pada tabel anggota=

select * from tbldivisi;



• Untuk menampilkan semua kolom pada tabel tblpenempatan yang berada pada kota 'Jayapura'=

select * from tblpenempatan where ket_penempatan = 'jayapura';



• Untuk menampilkan semua kolom pada tabel tblpegawai dengan urut nama=

select * from tblpegawai order by nama;



• Untuk menghitung jumlah record pada tabel tblpegawai=

select count(*) from tblpegawai;



• Untuk menampilkan kota penempattan pada tabel tblpenempatan=

select ket_penempatan from tblpenempatan;



• Untuk menampilkan kota penempatan dengan tidak menampikan kota yang sama pada tabel tblpenempatan=

select distinct tblpenempatan from tblpenempatan;



• Untuk menampilkan nama dan id jabatan yang mempunyai jabatan sebagai Manager=

select nama,id_jabatan from tblpegawai where id_jabatan like ‘%manager';



• Tampilkan pegawai dengan id 3 ,8 ,dan 13

SELECT id_pegawai FROM tblpegawai WHERE id_pegawai ='3' or id_pegawai='8' OR id_pegawai='13';\

==atau bisa lebih dari 3 data==

SELECT id_pegawai FROM tblpegawai WHERE id_pegawai IN ("11","12","8");





• Menggabungkan 4 Tabel dengan JOIN

SELECT tbldivisi.ket_divisi, tblpegawai.nama, tbljabatan.ket_jabatan, tblpenempatan.id_penempatan

FROM tblpegawai

JOIN tbljabatan ON tblpegawai.id_jabatan = tbljabatan.id_jabatan

JOIN tbldivisi ON tblpegawai.id_divisi = tbldivisi.id_divisi

JOIN tblpenempatan ON tblpegawai.id_penempatan = tblpenempatan.id_penempatan




• Memunculkan nama dari tabel pegawai, ket_jabatan dari tabel jabatan, ket_divisi dari tabel divisi dengan SUB-QUERY

SELECT nama,(SELECT ket_jabatan FROM tbljabatan WHERE id_jabatan=tblpegawai.id_jabatan) AS jabatan,

(SELECT ket_divisi FROM tbldivisi WHERE id_divisi=tblpegawai.id_divisi) AS divisi FROM tblpegawai



• Menggabungkan 5 tabel dengan keadaan entity di tabel gaji tidak ada di tabel pegawai. (tidak ter-relasi) mengunakan JOIN

SELECT tblpegawai.id_pegawai, tbldivisi.ket_divisi, tbljabatan.ket_jabatan, tblpenempatan.ket_penempatan, tblgaji.jml_gaji

FROM tblpegawai

JOIN tbldivisi ON tblpegawai.id_divisi = tbldivisi.id_divisi

JOIN tbljabatan ON tblpegawai.id_jabatan = tbljabatan.id_jabatan

JOIN tblpenempatan ON tblpegawai.id_penempatan = tblpenempatan.id_penempatan
LEFT JOIN tblgaji ON tbldivisi.id_divisi = tblgaji.id_gaji


Mengcopy field dalam satu Tabel
UPDATE nama-tabel SET field baaru = field lama;
Menambah kolom setelah spesifik field
alter table Table1 add column nama_field varchar(30)  AFTER nama_field
Kalau Banyak kolom
alter table Table1 add column nama_field varchar(30), add column nama_field varchar(30), add column nama_field varchar(30)  AFTER nama_field
Menambah kolom pada posisi awal
alter table Table1 add column Game_Tag varchar(30) FIRST
Me-rename nama field
Alter table table_name change nama_kolom_lama nama_kolom_baru datatype(30)
Me-rename banyak field
Alter table table1
change nama_field_lama nama_field_baru int(5),
modify nama_field_lama nama_field_lama varchar(40)
Menghapus lebih dari 1 field 
 Alter table nama tabel
drop column nama_kolom,
drop column nama_kolom2
Memindahkan kolom
" ALTER TABLE table_name CHANGE column_name column_name datatype(length) AFTER column_name"
atau
" ALTER TABLE table_name MODIFY column_name datatype(length) AFTER column_name"
Mengecek apakah ada data yang duplikat
SELECT nama_field, COUNT(nama_field) AS data_duplikat
FROM mprog
GROUP BY nm_field
HAVING (COUNT(nm_field) > 1)
Jika field lebih dari satu
SELECT   col1, col2, col3, col4, COUNT(*)
FROM     myTable
GROUP BY col1, col2, col3, col4
HAVING   COUNT(*) > 1;
Setelah ketemu data yang dobel, maka untuk melihat detil dari data tersebut bisa dengan cara :
SELECT *
FROM tablename
WHERE tablefield
IN ( ... , ... , ... )
Atau dengan query berikut :
SELECT *
FROM table
WHERE tablefield IN (
SELECT tablefield
FROM table
GROUP BY tablefield
HAVING (COUNT(tablefield ) > 1)
)
Copy field dari tabel 1 ke tabel 2
UPDATE nama_tabel1 AS t1
INNER JOIN nama_tabel2 AS t2 ON t1.nama_field1 = t2.nama_field2
SET t1.nama_field1 = t2.nama_field2
atau
UPDATE nama_tabel1
SET nama_field1 = (
SELECT nama_field2
FROM nama_tabel2
WHERE nama_field2 = nama_table1.nama_field1
)
atau
UPDATE nama_tabel1, nama_tabel2
SET   nama_table1.nama_field1 = nama_table2.nama_field2
WHERE  nama_table1.nama_field1 = nama_table2.nama_field2
Untuk Mengetahui Warnings
show warnings


0 Komen:

Catat Ulasan

Dikuasakan oleh Blogger.