Tutorial SQL  

Posted by: rafie aza

NIM/NAMA : 10.41010.0280/Mochammad Ali Akbar Rafsanjani
Dosen : Tan Amelia
Tugas : Tutorial SQL


SQL (Structured Query Language) adalah bahasa komputer yang ditujukan untuk menyimpan, memanipulasi, dan query data disimpan dalam database relasional. Inkarnasi pertama dari SQL muncul di tahun 1974, ketika sebuah kelompok di IBM mengembangkan prototipe pertama dari sebuah database relasional. Database relasional komersial pertama dirilis oleh Relational Software (kemudian menjadi Oracle).

Standar untuk SQL ada. Namun, SQL yang dapat digunakan pada masing-masing RDBMS utama saat ini adalah dalam rasa yang berbeda. Hal ini disebabkan dua alasan: 1) standar perintah SQL ini cukup rumit, dan tidak praktis untuk menerapkan seluruh standar, dan 2) masing-masing vendor database memerlukan cara untuk membedakan produk dari orang lain. Dalam tutorial ini, perbedaan-perbedaan tersebut dicatat mana yang sesuai.


Ada dua bagian dalam SQL yakni DDL & DML

DDL (Data Definition Language)

DDL Adalah bagian dari SQL yang digunakan untuk mendefenisikan data dan proyek database. Perintah digunakan untuk mendefenisikan suatu proyek, yaitu membuat, mengubah, menghapus dan memberikan izin.
Beberapa perintah pada SQL yang temasuk DDL, seperti :

Alter Table untuk Mengubah atau menyisipkan ke dalam tabel
Create Table untuk Membuat Tabel
Create Index untuk Membuat Index
Create View untuknMembuat View
Drop Table untuk Menghapus Tabel
Drop Index untuk Menghapus Index
Drop View untuk Menghapus View
Grant untuk Memberi izin akses kepada user

DML (Data Manipulation Language)

DML merupakan bagian dari SQL yang digunakan untuk memanipulasi data. Perintah-perintah ini bertugas untuk melakukan query dan perubahan yg dilakukan dalam suatu tabel
Beberapa perintah SQL yang termasuk DML, Seperti :


Delete digunakan untuk Menghapus baris dari suatu tabel
UpDate digunakan untuk Mengubah isi dari kolom (field) pada suatu tabel
Select diigunakan untuk memilih data dari suatu tabel atau view
Insert digunakan untuk Menyisipkan baris dari suatu tabel
Commit digunakan untuk Menuliskan perubahan ke dalam disk
Rollback dingunakan untuk Membatalkan perubahan yang dilakukan setelah perintah Commit.

Fungsi aggregat
Beberapa SMBD memiliki fungsi aggregat, yaitu fungsi-fungsi khusus yang melibatkan sekelompok data (aggregat). Secara umum fungsi aggregat adalah:

Sum untuk menghitung total nominal data
Count untuk menghitung jumlah kemunculan data
Avg untuk menghitung rata-rata sekelompok data
Max dan Min untuk mendapatkan nilai maksimum/minimum dari sekelompok data.


Ini pemrograman SQL situs bantuan daftar umum digunakan pernyataan SQL, dan dibagi menjadi bagian berikut:


SQL Commands: Dasar SQL untuk menyimpan, mengambil, dan memanipulasi data dalam database relasional.
Pada bagian ini, kita membahas perintah SQL berikut, yang sering digunakan dalam query SQL. Pada akhir bagian ini, Anda akan mempelajari dasar-dasar mengambil data dari database menggunakan SQL.



SQL DISTINCT

Kata kunci SELECT memungkinkan kita untuk mengambil semua informasi dari kolom (atau kolom) di atas meja. Ini, tentu saja, berarti bahwa akan ada redudansi. Bagaimana jika kita hanya ingin memilih setiap elemen DISTINCT? Hal ini mudah untuk melakukannya di SQL. Semua yang perlu kita lakukan adalah menambahkan DISTINCT SELECT setelah. Sintaksnya adalah sebagai berikut:

SELECT DISTINCT "nama_kolom"
DARI "table_name"

Misalnya, untuk memilih semua toko yang berbeda di Store_Information Tabel,

store_name Sales Date
sidoarjo 1500 Jan-05-1999
surabaya 250 Jan-07-1999
malang 300 Jan-08-1999
bali 700 Jan-08-1999



SQL MAX
SQL menggunakan fungsi MAX untuk mencari nilai maksimum dalam kolom. Sintaks untuk menggunakan fungsi MAX,

SELECT MAX ("nama_kolom")
DARI "table_name"

Sebagai contoh, jika kita ingin mendapatkan penjualan tertinggi dari tabel berikut,

tabel Store_Information
store_name Sales Date
sidoarjo 1500 Jan-05-1999
surabaya 250 Jan-07-1999
malang 300 Jan-08-1999
bali 700 Jan-08-1999

kita akan ketik

SELECT MAX (Penjualan) DARI Store_Information

hasil:
MAX (Penjualan)
1500

1500 merupakan nilai maksimum dari semua entri Penjualan: 1500, 250, 300, dan 700.



SQL MIN

SQL menggunakan fungsi MIN untuk mencari nilai maksimum dalam kolom. Sintaks untuk menggunakan fungsi MIN adalah,

SELECT MIN ("nama_kolom")
DARI "table_name"

Sebagai contoh, jika kita ingin mendapatkan penjualan terendah dari tabel berikut,

tabel Store_Information
store_name Sales Date
sidoarjo 1500 Jan-05-1999
surabaya 250 Jan-07-1999
malang 300 Jan-08-1999
bali 700 Jan-08-1999


kita akan ketik

SELECT MIN (Penjualan) DARI Store_Information

hasil:
MIN (Penjualan)
250

250 merupakan nilai minimum dari semua entri Penjualan: 1500, 250, 300, dan 700.






SQL ORDER BY

Sejauh ini, kita telah melihat bagaimana untuk mendapatkan data dari tabel dengan menggunakan SELECT dan WHERE perintah. Seringkali, bagaimanapun, kita perlu daftar output dalam urutan tertentu. Hal ini bisa dalam urutan menaik, dalam urutan, atau dapat didasarkan pada baik nilai numerik atau nilai teks. Dalam kasus tersebut, kita dapat menggunakan ORDER BY kata kunci untuk mencapai tujuan kita.

Sintaks untuk ORDER BY pernyataan adalah sebagai berikut:

SELECT "column_name"
DARI "table_name"
[WHERE "kondisi"]
ORDER BY "nama_kolom" [ASC, DESC]

The [] berarti bahwa pernyataan WHERE opsional. Namun, jika klausa WHERE ada, datang sebelum klausa ORDER BY. ASC berarti bahwa hasil akan ditampilkan dalam urutan, dan DESC berarti bahwa hasil akan ditampilkan dalam urutan. Jika tidak ditentukan, default adalah ASC.

Hal ini memungkinkan untuk memesan oleh lebih dari satu kolom. Dalam hal ini, ORDER BY klausa di atas menjadi

ORDER BY "column_name1" [ASC, DESC], "column_name2" [ASC, DESC]

Dengan asumsi bahwa kita memilih urutan untuk kedua kolom, output akan disusun dalam urutan menaik sesuai dengan kolom 1. Jika ada dasi untuk nilai kolom 1, kami kemudian mengurutkan dalam urutan berdasarkan kolom 2.

Sebagai contoh, kita mungkin ingin ke daftar isi Store_Information Tabel dengan jumlah dolar, dalam urutan:


tabel Store_Information
store_name Sales Date
sidoarjo 1500 Jan-05-1999
surabaya 250 Jan-07-1999
malang 300 Jan-08-1999
bali 700 Jan-08-1999



kita kunci dalam,

SELECT store_name, Penjualan, Tanggal
DARI Store_Information
ORDER BY DESC Penjualan

Hasil:
store_name Penjualan Tanggal
sidoarjo 1500 Jan-05-1999
bali 700 Jan-07-1999
malang 300 Jan-08-1999
surabaya 250 Jan-08-1999


Selain nama kolom, kita juga dapat menggunakan posisi kolom (berdasarkan query SQL) untuk menunjukkan kolom yang kami ingin menerapkan ORDER BY klausa. Kolom pertama adalah 1, kolom kedua adalah 2, dan seterusnya. Dalam contoh di atas, kita akan mencapai hasil yang sama dengan perintah berikut:

SELECT store_name, Penjualan, Tanggal
DARI Store_Information
ORDER BY DESC 2




Table Manipulation: Bagaimana SQL digunakan untuk mengelola tabel dalam database.

Tabel struktur dasar dimana data disimpan dalam database. Mengingat bahwa dalam banyak kasus, tidak ada cara untuk vendor database untuk tahu di depan waktu data apa yang Anda perlu penyimpanan, kemungkinan bahwa Anda akan perlu membuat tabel dalam database sendiri. Banyak alat database memungkinkan Anda untuk membuat tabel tanpa menulis SQL, tetapi mengingat bahwa tabel adalah wadah dari semua data, penting untuk memasukkan sintaks CREATE TABLE dalam tutorial ini.

Sebelum kita menyelam ke dalam sintaks SQL untuk CREATE TABLE, itu adalah ide yang baik untuk memahami apa yang masuk ke meja. Tabel dibagi ke dalam baris dan kolom. Setiap baris mewakili satu bagian dari data, dan setiap kolom dapat dianggap sebagai mewakili komponen yang sepotong data. Jadi, misalnya, jika kita memiliki tabel untuk merekam informasi pelanggan, maka kolom dapat mencakup informasi seperti Nama Pertama, Nama Belakang, Alamat, Kota, Negara, Tanggal Lahir, dan sebagainya. Akibatnya, ketika kita tentukan tabel, kita termasuk header kolom dan tipe data kolom tertentu untuk itu.

Jadi apa tipe data? Biasanya, data yang datang dalam berbagai bentuk. Ini bisa menjadi (seperti 1) bilangan bulat, bilangan real (seperti 0,55), string (seperti 'sql'), ekspresi tanggal / waktu (seperti '2000-JAN-25 03:22:22 '), atau bahkan dalam format biner. Ketika kita tentukan tabel, kita perlu untuk menentukan jenis data yang terkait dengan setiap kolom (yaitu, kita akan menetapkan bahwa 'First Name' adalah tipe char (50) - yang berarti itu adalah sebuah string dengan 50 karakter). Satu hal yang perlu diperhatikan adalah bahwa database relasional yang berbeda memungkinkan untuk jenis data yang berbeda, sehingga adalah bijaksana untuk berkonsultasi dengan referensi database-spesifik pertama.
The SQL syntax for CREATE TABLE is

CREATE TABLE "table_name"
("column 1" "data_type_for_column_1",
"column 2" "data_type_for_column_2",
... )

So, if we are to create the customer table specified as above, we would type in

CREATE TABLE customer
(First_Name char(50),
Last_Name char(50),
Address char(50),
City char(50),
Country char(25),
Birth_Date date)

Kadang-kadang, kita ingin memberikan nilai default untuk setiap kolom. Nilai default digunakan bila Anda tidak menentukan nilai kolom ketika memasukkan data ke dalam tabel. Untuk menentukan nilai default, tambahkan "Default [value]" setelah deklarasi tipe data. Dalam contoh di atas, jika kita ingin default kolom "Alamat" untuk "Unknown" City dan ke "Mumbai", kita akan ketik
CREATE TABLE customer
(First_Name char(50),
Last_Name char(50),
Address char(50) default 'Unknown',
City char(50) default 'Mumbai',
Country char(25),
Birth_Date date)











Advanced SQL
: Advanced perintah SQL.
Pada bagian ini, kita membahas SQL berikut dan konsep:

SQL UNION
Tujuan dari query UNION SQL untuk menggabungkan hasil dari dua query bersama-sama. Dalam hal ini, UNION agak mirip dengan JOIN di bahwa mereka keduanya digunakan untuk informasi terkait dari beberapa tabel. Satu pembatasan UNION bahwa semua kolom yang sesuai harus dari tipe data yang sama. Juga, ketika menggunakan UNION, hanya nilai-nilai yang berbeda dipilih (sama dengan SELECT DISTINCT).

Sintaksnya adalah sebagai berikut:

[SQL Pernyataan 1]
UNION
[SQL Pernyataan 2]

Katakanlah kita memiliki dua tabel berikut,

tabel Store_Information
store_name Penjualan Tanggal
sidoarjo 1500 Jan-05-1999
surabaya 250 Jan-07-1999
malang 300 Jan-08-1999
Bali 700 Jan-08-1999

tabel Internet_Sales
Tanggal Penjualan
Jan-07-1999 250
Jan-10-1999 535
Jan-11-1999 320
Jan-12-1999 750

dan kita ingin mengetahui semua tanggal di mana ada transaksi penjualan. Untuk melakukannya, kita menggunakan pernyataan SQL berikut:

PILIH DARI Tanggal Store_Information
UNION
PILIH DARI Tanggal Internet_Sales

hasil:
Tanggal
Jan-05-1999
Jan-07-1999
Jan-08-1999
Jan-10-1999
Jan-11-1999
Jan-12-1999

Harap dicatat bahwa jika kita ketik "SELECT DISTINCT Tanggal" untuk salah satu atau kedua pernyataan SQL, kita akan mendapatkan set hasil yang sama.




SQL Subquery
Hal ini dimungkinkan untuk menanamkan pernyataan SQL dalam yang lain. Bila ini dilakukan pada WHERE atau pernyataan MEMILIKI, kami telah subquery membangun.

Sintaksnya adalah sebagai berikut:

SELECT "column_name1"
FROM "table_name1"
WHERE "column_name2" [Comparison Operator]
(SELECT "column_name3"
FROM "table_name2"
WHERE [Condition])

[Perbandingan Operator] bisa kesetaraan operator seperti =,>, <,> =, <=. Hal ini juga dapat menjadi operator teks seperti "SEPERTI". Bagian merah dianggap sebagai "inner query", sedangkan bagian dalam warna hijau dianggap sebagai "permintaan luar".

Mari kita gunakan contoh yang sama seperti yang kita lakukan untuk menggambarkan SQL bergabung:

tabel Store_Information
store_name Penjualan Tanggal
sidoarjo 1500 Jan-05-1999
surabaya 250 Jan-07-1999
malang 300 Jan-08-1999
Bali 700 Jan-08-1999

tabel Geografi
region_name store_name
East Bali
East malang
West sidoarjo
West Surabaya
dan kita ingin menggunakan subquery untuk menemukan penjualan semua toko di wilayah Barat. Untuk melakukannya, kita menggunakan pernyataan SQL berikut:

SELECT SUM (Penjualan) DARI Store_Information
MANA store_name DI
(SELECT store_name DARI Geografi
MANA region_name = 'Barat')

hasil:
SUM (Penjualan)
2050

Dalam contoh ini, bukan bergabung dengan dua tabel secara langsung dan kemudian menambahkan hanya jumlah penjualan untuk toko di wilayah Barat, kita pertama menggunakan subquery untuk mengetahui toko di wilayah Barat, dan kemudian kita meringkas jumlah penjualan untuk toko-toko.

Dalam contoh di atas, inner query pertama dieksekusi, dan hasilnya kemudian dimasukkan ke dalam query luar. Jenis dari subquery adalah subquery disebut sederhana. Jika inner query tergantung pada permintaan luar, kita akan memiliki sebuah subquery yang berhubungan. Sebuah contoh dari subquery yang berhubungan adalah sebagai berikut:

SELECT SUM (a1.Sales) DARI Store_Information a1
MANA a1.Store_name DI
(SELECT store_name DARI Geografi a2
MANA a2.store_name = a1.store_name)

Perhatikan klausa WHERE dalam query dalam, di mana kondisi melibatkan tabel dari permintaan luar.





Konsep NULL unik penting di SQL. Oleh karena itu, kita termasuk bagian tentang penggunaan NULL, serta sebagai NULL dengan fungsi-fungsi:




SQL NULL
Dalam SQL, NULL berarti bahwa data tidak ada. NULL tidak sama dengan 0 atau string kosong. Baik 0 dan string kosong mewakili nilai, sementara memiliki nilai NULL.

Setiap operasi matematika dilakukan pada NULL akan menghasilkan NULL. Sebagai contoh,

10 + NULL = NULL

Fungsi agregat seperti SUM, COUNT, AVG, MAX, dan MIN mengecualikan nilai NULL. Hal ini tidak mungkin menyebabkan masalah untuk SUM, MAX, dan MIN. Namun, hal ini dapat menyebabkan kebingungan dengan AVG dan COUNT.

Mari kita lihat contoh berikut:

tabel Sales_Data
store_name Penjualan
Sebuah Toko 300
Toko B 200
Toko C 100
Toko D NULL

Berikut adalah hasil untuk setiap fungsi agregat:

SUM (penjualan) = 600

AVG (Penjualan) = 200

MAX (Penjualan) = 300

MIN (Penjualan) = 100

COUNT (Penjualan) = 3

Perhatikan bahwa fungsi AVG jumlah hanya 3 baris (baris NULL dikecualikan), sehingga rata-rata adalah 600 / 3 = 200, bukan 600 / 4 = 150. Fungsi COUNT juga mengabaikan rolw NULL, itulah sebabnya mengapa COUNT (Penjualan) = 3.




SQL ISNULL Function
Fungsi IsNull tersedia dalam SQL Server dan MySQL. Namun, menggunakan mereka berbeda:

SQL Server

Dalam SQL Server, IsNull () fungsi ini digunakan untuk menggantikan nilai NULL dengan nilai lainnya.

Sebagai contoh, jika kita memiliki tabel berikut,

tabel Sales_Data
store_name Penjualan
Sebuah Toko 300
Toko B NULL

SQL berikut,

SELECT SUM (IsNull (Penjualan, 100)) DARI Sales_Data;

kembali 400. Hal ini karena NULL telah digantikan oleh 100 melalui fungsi IsNull.

MySQL

Dalam MySQL, IsNull () adalah fungsi yang digunakan untuk menguji apakah suatu ekspresi adalah NULL. Jika ekspresi adalah NULL, fungsi ini mengembalikan 1. Jika tidak, fungsi ini mengembalikan 0.

Sebagai contoh,

IsNull (3 * 3) mengembalikan 0

IsNull (3 / 0) mengembalikan 1




SQL IFNULL Function
Para IFNULL () fungsi tersedia di MySQL, dan tidak di SQL Server atau Oracle. Fungsi ini membutuhkan dua argumen. Jika argumen pertama tidak NULL, fungsi mengembalikan argumen pertama. Jika tidak, argumen kedua dikembalikan. Fungsi ini umumnya digunakan untuk menggantikan nilai NULL dengan nilai lainnya. Hal ini mirip dengan fungsi NVL dalam Oracle dan Fungsi IsNull di SQL Server.

Sebagai contoh, jika kita memiliki tabel berikut,

tabel Sales_Data
store_name Penjualan
Sebuah Toko 300
Toko B NULL

SQL berikut,

SELECT SUM (IFNULL (Penjualan, 100)) DARI Sales_Data;

kembali 400. Hal ini karena NULL telah digantikan oleh 100 melalui fungsi IsNull.


Selain itu, kami menunjukkan bagaimana Structured Query Language dapat digunakan untuk menyelesaikan beberapa operasi yang lebih kompleks:

Rank
Median
Running Totals
Percent To Total
Cumulative Percent To Total









SQL Syntax: Satu halaman yang berisi daftar sintaks untuk semua perintah SQL pada tutorial ini.

kami daftar sintaks SQL untuk setiap perintah SQL dalam tutorial ini, membuat referensi yang mudah bagi seseorang untuk belajar SQL. Untuk penjelasan rinci dari setiap sintaks SQL, silahkan pergi ke bagian individual dengan mengklik pada kata kunci.

Tujuan dari halaman ini adalah memiliki halaman referensi cepat untuk sintaks SQL, sehingga Anda dapat belajar SQL lebih cepat. Bookmark halaman ini sekarang dengan menekan Control-D sehingga Anda dapat memiliki sintaks halaman ini berguna.
Select Statement
SELECT "column_name" FROM "table_name"

Distinct
SELECT DISTINCT "column_name"
FROM "table_name"

Where
SELECT "column_name"
FROM "table_name"
WHERE "condition"

And/Or
SELECT "column_name"
FROM "table_name"
WHERE "simple condition"
{[AND|OR] "simple condition"}+

In
SELECT "column_name"
FROM "table_name"
WHERE "column_name" IN ('value1', 'value2', ...)

Between
SELECT "column_name"
FROM "table_name"
WHERE "column_name" BETWEEN 'value1' AND 'value2'

Like
SELECT "column_name"
FROM "table_name"
WHERE "column_name" LIKE {PATTERN}

Order By
SELECT "column_name"
FROM "table_name"
[WHERE "condition"]
ORDER BY "column_name" [ASC, DESC]

Count
SELECT COUNT("column_name")
FROM "table_name"

Group By
SELECT "column_name1", SUM("column_name2")
FROM "table_name"
GROUP BY "column_name1"

Having
SELECT "column_name1", SUM("column_name2")
FROM "table_name"
GROUP BY "column_name1"
HAVING (arithematic function condition)

Create Table Statement
CREATE TABLE "table_name"
("column 1" "data_type_for_column_1",
"column 2" "data_type_for_column_2",
... )

Drop Table Statement
DROP TABLE "table_name"

Truncate Table Statement
TRUNCATE TABLE "table_name"

Insert Into Statement
INSERT INTO "table_name" ("column1", "column2", ...)
VALUES ("value1", "value2", ...)

Update Statement
UPDATE "table_name"
SET "column_1" = [new value]
WHERE {condition}

Delete From Statement
DELETE FROM "table_name"
WHERE {condition}

Untuk setiap perintah, sintaks SQL pertama akan disajikan dan dijelaskan, diikuti dengan contoh. Pada akhir tutorial ini, Anda harus memiliki pemahaman baik umum sintaks SQL, dan dapat menulis query SQL dengan menggunakan sintaks yang benar. Pengalaman saya adalah bahwa pemahaman dasar-dasar SQL adalah jauh lebih mudah daripada menguasai semua seluk-beluk bahasa database, dan saya harap Anda akan mencapai kesimpulan yang sama juga.

This entry was posted on 08.07 . You can leave a response and follow any responses to this entry through the Langganan: Posting Komentar (Atom) .

0 komentar

Posting Komentar