MANIPULASI DATA SQL

Manipulasi Data SQL
A. Objectives of SQL
- SQL adalah transform-oriented language, bahasa yang didesain untuk
menggunakan relation untuk mengubah input menjadi output yang dibutuhkan
- Mempunyai 2 komponen utama
o DDL untuk mendefinisikan struktur database
o DML untuk membetulkan dan mengupdate data
- SQL lumayan mudah untuk dipelajari
o Merupakan non-prosedur, dimana kamu menspesifikasikan informasi apa
yang kamu butuhkan dibandingkan dengan bagaimana cara
mendapatkannya.
o Memiliki format yang bebas secara esensial
- Terdiri dari bahasa Inggris standar
o CREATE TABLE …;
o INSERT INTO … VALUES(…);
o SELECT … FROM … WHERE …;
- Bisa digunakan oleh semua pengguna
- Sebuah standar ISO saat ini sudah ada untuk SQL, membuat keduanya formal
dan bahasa standar secara de facto untuk relational database
B. Menulis perintah SQL
- Pernyataan SQL terdiri atas reserved word dan user-defined word
- Reserved word merupakan bagian yang sudah ada di dalam SQL dan harus
ditulis sesuai dengan yang dibutuhkan dan tidak dapat dijadikan variabel.
- User defined word merupakan kata yang dibuat oleh pengguna dan
merepresentasikan nama dari objek database seperti relation, kolom, dan view
- Semua komponen dalam SQL Statement adalah case insensitive (besar kecilnya
huruf tidak berpengaruh) , kecuali untuk karakter data literal
o Contoh: Saat mencari kata ‘SMITH’, data tidak menampilkan kata
‘Smith’
Modul Jurusan Statistika Angkatan 57 Semester IV
Pengurus Angkatan STIS 57
Divisi Akademik
C. Literal
- Literal adalah pernyataan yang sering digunakan di SQL
- Semua literal non numerik harus menggunakan kutipan ( Contoh: ‘London’)
- Semua literal numeric tidak menggunakan kutipan (Contoh :650.00)
D. Select Statement
SELECT[DISTINCT|ALL]
{*| [columnExpression[AS newName]] [ , …]}
FROM TableName [alias] [ , …]
[WHERE condition]
[GROUP BY columList] [HAVING condition]
[ORDER BY columnList]
Penjelasan:
FROM : menjelaskan tabel yang akan digunakan
WHERE : menjelaskan kondisi
GROUP BY : membentuk kelompok baris dengan nilai kolom yang sama
HAVING : menyaring subjek kelompok ke beberapa kondisi
SELECT : menjelaskan kolom mana yang akan ditampilkan dalam output
ORDER BY : menjelaskan perintah output
o Urutan pada klausa tidak bisa diubah
o Hanya SELECT dan FROM yang merupakan perintah yang harus ada
E. CONTOH
- Semua Kolom dan Semua baris
SELECT staffNo, fName, lName, position, sex, DOB, salary, branchNo ( bisa
diganti dengan * sehingga menjadi SELECT *)
FROM Staff;
OUTPUT
- Kolom Tertentu dan Semua baris
Misal kita hanya ingin menampilkan
staffNo,fName,lName, dan salary
SELECT staffNo, fName, lName,
salary,
FROM Staff;
- Menggunakan DISTINCT
Kegunaan DISTINCT adalah untuk menghapus
duplikasi
SELECT DISTINCT position
FROM Staff
- Menghitung Fields
Menampilkan daftar gaji bulanan staff dan
hanya menampilkan staffNo, fName,
lName dan salary.
SELECT staffNo, fName,lName,
salary/12
FROM Staff
Untuk mengubah nama kolom pada salary
SELECT staffNo, fName,lName, salary/12
AS monthlySalary
Position
Manager
Assisstant
Supervisor
Modul Jurusan Statistika Angkatan 57 Semester IV
Pengurus Angkatan STIS 57
Divisi Akademik
FROM Staff
- Membandingkan Hasil Pencarian
o Daftar staff dengan gaji lebih dari 10000
SELECT staffNo, fName, lName, position, salary
FROM Staff
WHERE salary>10000
OUTPUT
o Daftar kantor cabang yang berada di London atau Glassgow
SELECT *
From Branch
WHERE city= ‘London’ OR city= ‘Glasgow’;
OUTPUT
o Daftar staff dengan gaji antara 20000 sampai 30000
SELECT staffNo,fName,lName,position,salary
FROM Staff
WHERE salary BETWEEN 20000 AND 30000;
OUTPUT
Cara lain :
SELECT staffNo,fName,lName,position,salary
FROM Staff
WHERE salary >= 20000 AND salary<=30000;
Pernyataan BETWEEN juga memiliki negasi yaitu NOT BETWEEN
- Mengatur Anggota
Daftar manager dan supervisor
SELECT
staffNo,fName,lName,position
FROM Staff
WHERE position IN (‘Manager’,
‘Supervisor’);
Versi negatif dari IN adalah NOT IN
Cara lain penulisan
SELECT staffNo,fName,lName,position
FROM Staff
WHERE position=‘Manager’ OR position= ‘Supervisor’;
Catatan : IN lebih efisien jika nilai yang dicari banyak.
- Mencocokan Pola pada Pencarian
Menemukan semua pemiliki yang memiliki kata ‘Glasgow’ pada kolom
alamatnya
SELECT ownerNo,fName,lName,address,telNo
FROM PrivateOwner
WHERE address LIKE ‘%Glasgow%’;
Modul Jurusan Statistika Angkatan 57 Semester IV
Pengurus Angkatan STIS 57
Divisi Akademik
Output
SQL mempunyai 2 simbol pencocokan pola khusus:
o % : rangkaian 0 atau lebih karakter
o _ : satu karakter
LIKE ‘%Glasgow%’ berarti karakter yang memiliki kata ‘Glasgow’
- Pencarian pada kondisi NULL
SELECT clientNo, viewDate
FROM Viewing
WHERE propertyNo= ‘PG4’ AND
comment IS NULL
- Single Column Ordering
Daftar gaji semua staff diurutkan dari
yang terbesar
SELECT staffNo, fName, lName, salary
FROM Staff
ORDER BY salary DESC;
- Standar ISO mempunyai 5 fungsi agregat
o COUNT : menghitung banyaknya nilai pada kolom yang dipilih
 SELECT COUNT (*) AS myCount
FROM PropertyForRent
WHERE rent >350;
o SUM : menjumlahkan nilai pada kolom yang dipilih
 Select SUM (salary)
FROM Staff
WHERE position= ‘Manager’;
o AVG : menghasilkan rata-rata pada kolom yang dipilih
 SELECT AVG (salary)
FROM Staff;
o MIN : mencari nilai minimal pada kolom yang dipilih
 SELECT MIN (salary)
FROM Staff;
o MAX : mencari nilai maksimal pada kolom yang dipilih
 SELECT MAX (salary)
FROM Staff;
- Setiap operasi pada salah satu kolom dan menghasilkan sebuah nilai
- COUNT, MIN, MAX digunakan pada numeric dan non-numerik, tetapi SUM
dan AVG digunakan pada numeric saja
- Selain COUNT, setiap fungsi menghapus nilai null dahulu lalu menjalankan
operasinya
- Gunakan klausa GROUP BY untuk mendapatkan sub-total
- SELECT dan GROUP BY terintegrasi secara dekat : setiap item di daftar
SELECT harus bernilai satu per grup
- Jika WHERE digunakan dengan GROUP BY, WHERE ditulis terlebih dahulu
Modul Jurusan Statistika Angkatan 57 Semester IV
Pengurus Angkatan STIS 57
Divisi Akademik
- Contoh
SELECT branchNo, COUNT (staffNo)
AS myCount, SUM (salary) AS
mySum
FROM Staff
GROUP BY branchNo
ORDER BY branch No;
- Menggunakan Having
Untuk setiap cabang dengan member lebih dari 1 orang, temukan jumlah
staff di setiap cabang dan jumlahkan gajinya
SELECT branchNo, COUNT(staffNo) AS myCount, SUM(salary) AS
mySum
FROM Staff
GROUP BY branchNo
HAVING COUNT(staffNo) > 1
ORDER BY branchNo;
SQL Data Manipulation (2)

Komentar

Postingan populer dari blog ini

LAPORAN PRAKTIKUM KIMIA UJI NYALA API UNSUR ALKALI DAN ALKALI TANAH

LAPORAN PRAKTIKUM KIMIA ELEKTROLISIS LARUTAN KI

LAPORAN PRAKTIKUM BIOLOGI UJI MAKANAN