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