0% menganggap dokumen ini bermanfaat (0 suara)
431 tayangan104 halaman

SQL

SQL adalah bahasa standar untuk mengakses dan memanipulasi database relasional. SQL memungkinkan pengguna untuk menyimpan, memperbarui, dan mengambil data dari database, serta melakukan operasi lain seperti membuat tabel dan query. Tutorial ini menjelaskan konsep dan sintaks dasar SQL.

Diunggah oleh

INDAH
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
431 tayangan104 halaman

SQL

SQL adalah bahasa standar untuk mengakses dan memanipulasi database relasional. SQL memungkinkan pengguna untuk menyimpan, memperbarui, dan mengambil data dari database, serta melakukan operasi lain seperti membuat tabel dan query. Tutorial ini menjelaskan konsep dan sintaks dasar SQL.

Diunggah oleh

INDAH
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 104

A.

SQL Tutorial

SQL adalah bahasa standar untuk menyimpan, memanipulasi dan mengambil data dalam
database. SQL tutorial kami akan mengajarkan Anda bagaimana menggunakan SQL di: MySQL,
SQL Server, MS Access, Oracle, Sybase, Informix, Postgres, dan sistem database lain. Dengan
SQL editor online kami, Anda dapat mengedit pernyataan SQL, dan klik pada tombol untuk
melihat hasilnya.
Contoh : ELECT * FROM Customers;
Klik pada "Cobalah Sendiri" tombol untuk melihat cara kerjanya.

B. Pengantar SQL

SQL adalah bahasa standar untuk mengakses dan memanipulasi database. SQL singkatan
dari Structured Query Language yang memungkinkan Anda akses dan memanipulasi
database,SQL menjadi standar dari American National Standards Institute (ANSI) pada tahun
1986, dan dari Organisasi Internasional untuk Standardisasi (ISO) pada tahun 1987.

Kemampuan SQL :

1. Mengeksekusi query terhadap database


2. Mengambil data dari database
3. Memasukkan catatan dalam database
4. Memperbarui catatan dalam database
5. Menghapus catatan dari database
6. Membuat database baru
7. Membuat tabel baru dalam database
8. Menciptakan prosedur yang tersimpan dalam database
9. Membuat tampilan dalam database
RDBMS

RDBMS singkatan Relational Database Management System merupakan dasar untuk SQL,
dan untuk semua sistem database modern seperti MS SQL Server, IBM DB2, Oracle, MySQL,
dan Microsoft Access.

Data dalam RDBMS disimpan dalam objek database yang disebut tabel. Sebuah meja adalah
kumpulan entri data terkait dan terdiri dari kolom dan baris.
Contoh : SELECT * FROM Customers;

C. SQL Sintaks

Sebuah database yang paling sering mengandung satu atau lebih tabel. Setiap tabel
diidentifikasi dengan nama (misalnya "Pelanggan" atau "Pesanan"). Tabel berisi catatan (baris)
dengan data.

Dalam tutorial ini kita akan menggunakan terkenal database contoh Northwind (termasuk dalam
MS Access dan MS SQL Server).

1. Laporan SQL

Sebagian besar tindakan yang perlu Anda lakukan pada database dilakukan
dengan pernyataan SQL. Contoh : SELECT * FROM Customers;

2. Beberapa Paling Penting SQL Perintah

a) UPDATE - update data dalam database


b) DELETE - menghapus data dari database
c) INSERT INTO - menyisipkan data baru ke dalam database
d) CREATE DATABASE - membuat database baru
e) ALTER DATABASE - memodifikasi database
f) CREATE TABLE - membuat tabel baru
g) ALTER TABLE - memodifikasi table
h) DROP TABLE - menghapus table
i) CREATE INDEX - membuat index (search key)
j) DROP INDEX - menghapus indeks

D. SQL SELECT Pernyataan

Pernyataan SELECT digunakan untuk memilih data dari database. Data yang dikembalikan
disimpan dalam tabel hasil, disebut hasil-set.

1. SELECT Syntax
SELECT column1, column2, ...
FROM table_name;

Di sini, column1, column2, ... adalah nama field dari tabel yang ingin Anda pilih data
dari. Jika Anda ingin memilih semua bidang yang tersedia di meja, gunakan sintaks
berikut:

SELECT * FROM table_name;

2. Demo database

Di bawah ini adalah pilihan dari "Pelanggan" tabel dalam database Northwind sampel:

CustomerID CustomerName ContactName Address City PostalCode Country

1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany

Ana Trujillo Avda. de la


México
2 Emparedados y Ana Trujillo Constitución 05021 Mexico
D.F.
helados 2222

Antonio Moreno Antonio México


3 Mataderos 2312 05023 Mexico
Taquería Moreno D.F.
120 Hanover
4 Around the Horn Thomas Hardy London WA1 1DP UK
Sq.

Berglunds Christina
5 Berguvsvägen 8 Luleå S-958 22 Sweden
snabbköp Berglund

3. SELECT Kolom Contoh

Pernyataan SQL berikut memilih "CustomerName" dan "Kota" kolom dari "Pelanggan"
tabel:

Contoh : SELECT CustomerName, City FROM Customers;

E. SQL SELECT Pernyataan DISTINCT

Pernyataan DISTINCT SELECT digunakan untuk kembali hanya berbeda nilai-nilai (yang
berbeda). Di dalam tabel, kolom sering mengandung banyak nilai-nilai duplikat; dan kadang-
kadang Anda hanya ingin daftar nilai yang berbeda (berbeda).

1. SELECT DISTINCT Sintaks


SELECT DISTINCT column1, column2, ...
FROM table_name;

2. Demo database

Di bawah ini adalah pilihan dari "Pelanggan" tabel dalam database Northwind sampel:

CustomerID CustomerName ContactName Address City PostalCode Country

1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany


Ana Trujillo Avda. de la
México
2 Emparedados y Ana Trujillo Constitución 05021 Mexico
D.F.
helados 2222

Antonio Moreno Antonio México


3 Mataderos 2312 05023 Mexico
Taquería Moreno D.F.

120 Hanover
4 Around the Horn Thomas Hardy London WA1 1DP UK
Sq.

Berglunds Christina
5 Berguvsvägen 8 Luleå S-958 22 Sweden
snabbköp Berglund

Contoh SELECT

Berikut pernyataan SQL memilih semua (dan duplikat) nilai-nilai dari kolom "Negara" di
"Pelanggan" tabel:

Contoh : SELECT Country FROM Customers;

F. SQL MANA Clause

Klausa WHERE digunakan untuk menyaring catatan. Klausa WHERE digunakan untuk
mengekstrak hanya catatan-catatan yang memenuhi kondisi tertentu.

1. MANA Sintaks

SELECT column1, column2, ...


FROM table_name
WHERE condition;
2. Demo database

Di bawah ini adalah pilihan dari "Pelanggan" tabel dalam database Northwind sampel:

CustomerID CustomerName ContactName Address City PostalCode Country

1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany

Ana Trujillo Avda. de la


México
2 Emparedados y Ana Trujillo Constitución 05021 Mexico
D.F.
helados 2222

Antonio Moreno Antonio México


3 Mataderos 2312 05023 Mexico
Taquería Moreno D.F.

120 Hanover
4 Around the Horn Thomas Hardy London WA1 1DP UK
Sq.

Berglunds Christina
5 Berguvsvägen 8 Luleå S-958 22 Sweden
snabbköp Berglund

3. MANA Ayat Contoh

Pernyataan SQL berikut memilih semua pelanggan dari negara "Meksiko", di


"Pelanggan" tabel:

Contoh :

SELECT * FROM Customers


WHERE Country='Mexico';
Bidang Teks vs Bidang Angka

SQL membutuhkan tanda kutip tunggal di sekitar nilai teks (kebanyakan sistem database
yang juga akan memungkinkan tanda kutip ganda).

Namun, bidang numerik tidak harus tertutup dalam tanda kutip:

Contoh :

SELECT * FROM Customers


WHERE CustomerID=1;

G. SQL AND, OR dan NOT Operator

Klausa WHERE dapat dikombinasikan dengan AND, OR, dan NOT operator. AND dan
OR operator yang digunakan untuk menyaring catatan didasarkan pada lebih dari satu syarat:

 Operator AND menampilkan catatan jika semua kondisi dipisahkan oleh DAN BENAR.
 Operator OR menampilkan catatan jika salah satu kondisi yang dipisahkan oleh OR
adalah TRUE.

Operator tidak menampilkan catatan jika kondisi (s) adalah TIDAK BENAR.

1. AND Sintaks
SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;
2. OR Sintaks

SELECT column1, column2, ...


FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;

3. NOT Sintaks
SELECT column1, column2, ...
FROM table_name
WHERE NOT condition;

4. Menggabungkan AND, OR dan NOT

Anda juga dapat menggabungkan AND, OR dan NOT operator.

Pernyataan SQL berikut memilih semua field dari "Pelanggan" di mana negara adalah
"Jerman" DAN kota harus "Berlin" ATAU "München" (gunakan tanda kurung untuk
membentuk ekspresi kompleks):

Contoh :

SELECT * FROM Customers


WHERE Country='Germany' AND (City='Berlin' OR City='München');

H. SQL ORDER BY Kata Kunci

ORDER BY kata kunci digunakan untuk mengurutkan hasil-set di menaik atau menurun.

ORDER BY kata kunci macam catatan dalam urutan menaik secara default. Untuk mengurutkan
catatan dalam urutan, gunakan kata kunci DESC.

1. ORDER BY Syntax
SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;
2. Demo database

Di bawah ini adalah pilihan dari "Pelanggan" tabel dalam database Northwind sampel:

CustomerID CustomerName ContactName Address City PostalCode Country

1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany

Ana Trujillo Avda. de la


México
2 Emparedados y Ana Trujillo Constitución 05021 Mexico
D.F.
helados 2222

Antonio Moreno Antonio México


3 Mataderos 2312 05023 Mexico
Taquería Moreno D.F.

120 Hanover
4 Around the Horn Thomas Hardy London WA1 1DP UK
Sq.

Berglunds Christina
5 Berguvsvägen 8 Luleå S-958 22 Sweden
snabbköp Berglund

3. ORDER BY Contoh

Pernyataan SQL berikut memilih semua pelanggan dari "Pelanggan" meja, diurutkan lom
"Negara":

Contoh :

SELECT * FROM Customers


ORDER BY Country;
4. ORDER BY DESC Contoh

Pernyataan SQL berikut memilih semua pelanggan dari "Pelanggan" meja, diurutkan
turun dengan kolom "Negara":

Contoh :

SELECT * FROM Customers


ORDER BY Country DESC;

5. ORDER BY Kolom Beberapa Contoh

Berikut pernyataan SQL memilih semua pelanggan dari "Pelanggan" meja, diurutkan
oleh "Negara" dan kolom "CustomerName". Ini berarti bahwa perintah oleh Negara,
tetapi jika beberapa baris memiliki yang sama Negara, itu memerintahkan mereka dengan
CustomerName:

Contoh :

SELECT * FROM Customers


ORDER BY Country, CustomerName;

6. ORDER BY Beberapa Kolom Contoh 2

Pernyataan SQL berikut memilih semua pelanggan dari "Pelanggan" meja, diurutkan
ascending oleh "Negara" dan turun dengan kolom "CustomerName":

Contoh :

SELECT * FROM Customers


ORDER BY Country ASC, CustomerName DESC;
I. SQL INSERT INTO Pernyataan

INSERT INTO digunakan untuk menyisipkan catatan baru dalam sebuah tabel.

1. INSERT INTO Sintaks

Hal ini dimungkinkan untuk menulis INSERT INTO dalam dua cara.

Cara pertama menentukan baik nama kolom dan nilai-nilai yang akan dimasukkan:

NSERT INTO table_name (column1, column2, column3, ...)


VALUES (value1, value2, value3, ...);

Jika Anda menambahkan nilai untuk semua kolom dari tabel, Anda tidak perlu
menentukan nama kolom dalam query SQL. Namun, pastikan urutan nilai-nilai dalam
urutan yang sama seperti kolom dalam tabel. INSERT INTO sintaks akan menjadi
sebagai berikut:

INSERT INTO table_name


VALUES (value1, value2, value3, ...);

5. Demo database

Di bawah ini adalah pilihan dari "Pelanggan" tabel dalam database Northwind sampel:

CustomerID CustomerName ContactName Address City PostalCode Country

White Clover 305 - 14th Ave.


89 Karl Jablonski Seattle 98128 USA
Markets S. Suite 3B

Matti
90 Wilman Kala Keskuskatu 45 Helsinki 21240 Finland
Karttunen

91 Wolski Zbyszek ul. Filtrowa 68 Walla 01-012 Poland


6. INSERT INTO Contoh

Pernyataan SQL berikut menyisipkan rekor baru di "Pelanggan" tabel:

Contoh :

INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode,


Country)
VALUES ('Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway');

Pemilihan dari "Pelanggan" tabel sekarang akan terlihat seperti ini:

CustomerID CustomerName ContactName Address City PostalCode Country


White Clover 305 - 14th Ave.
89 Karl Jablonski Seattle 98128 USA
Markets S. Suite 3B

90 Matti
Wilman Kala Keskuskatu 45 Helsinki 21240 Finland
Karttunen
91
Wolski Zbyszek ul. Filtrowa 68 Walla 01-012 Poland

Tom B.
92 Cardinal Skagen 21 Stavanger 4006 Norway
Erichsen

7. Data yang Insert Hanya di Kolom Tertentu

Hal ini juga memungkinkan untuk hanya memasukkan data dalam kolom tertentu.

Pernyataan SQL berikut akan menyisipkan catatan baru, tetapi hanya memasukkan data
dalam "CustomerName", "Kota", dan "Negara" kolom (Pelanggan akan diperbarui secara
otomatis):

Contoh :

INSERT INTO Customers (CustomerName, City, Country)


VALUES ('Cardinal', 'Stavanger', 'Norway');
Pemilihan dari "Pelanggan" tabel sekarang akan terlihat seperti ini:

CustomerID CustomerName ContactName Address City PostalCode Country


White Clover 305 - 14th Ave.
89 Karl Jablonski Seattle 98128 USA
Markets S. Suite 3B

90 Matti
Wilman Kala Keskuskatu 45 Helsinki 21240 Finland
Karttunen
91 Wolski Zbyszek ul. Filtrowa 68 Walla 01-012 Poland

92 Cardinal Null null Stavanger null Norway

J. SQL Nilai NULL

Sebuah lapangan dengan nilai NULL adalah bidang tanpa nilai. Jika lapangan di meja
adalah opsional, adalah mungkin untuk menyisipkan catatan baru atau memperbarui rekor tanpa
menambahkan nilai ke bidang ini. Kemudian, lapangan akan disimpan dengan nilai NULL.

1. Cara Uji untuk Nilai NULL

Hal ini tidak mungkin untuk menguji nilai-nilai NULL dengan operator perbandingan,
seperti =, <, atau <>.

Kami akan harus menggunakan IS NULL dan IS NOT operator NULL sebagai gantinya.

2. IS NULL Sintaks
SELECT column_names
FROM table_name
WHERE column_name IS NULL;

3. IS NOT NULL Sintaks


SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL;
K. SQL UPDATE Pernyataan

Pernyataan UPDATE digunakan untuk memodifikasi catatan yang ada di meja.

1. UPDATE Sintaks
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

2. UPDATE Table

Berikut pernyataan SQL update pelanggan pertama (Pelanggan = 1) dengan orang kontak
baru dan kota baru.

Contoh :

UPDATE Customers
SET ContactName = 'Alfred Schmidt', City= 'Frankfurt'
WHERE CustomerID = 1;

3. UPDATE Beberapa Rekor

Ini adalah klausa WHERE yang menentukan berapa banyak catatan yang akan diperbarui.

Pernyataan SQL berikut akan memperbarui ContactName untuk "Juan" untuk semua
catatan di mana negara adalah "Meksiko":

Contoh :

UPDATE Customers
SET ContactName='Juan'
WHERE Country='Mexico';

4. Perbarui Peringatan
Contoh :

UPDATE Customers
SET ContactName='Juan';
L. SQL DELETE

1. SQL Statement Delete

Pernyataan DELETE digunakan untuk menghapus catatan yang ada di meja.

Contoh Delete Sintaks : DELETE FROM table_name WHERE condition;

2. Demo Database

Di bawah ini adalah pilihan dari "Pelanggan" tabel dalam database Northwind sampel:

3. Contoh SQL Delete

Pernyataan SQL berikut menghapus pelanggan "Alfreds Futterkiste" dari "Pelanggan"


tabel.

The "Pelanggan" tabel sekarang akan terlihat seperti ini:


M. SQL SELECT TOP, LIMIT OR ROUNUM CLAUSE

1. SQL Select Top Clause

Klausa TOP SELECT digunakan untuk menentukan jumlah record untuk kembali.

SELECT TOP klausul berguna pada tabel besar dengan ribuan catatan. Kembali sejumlah
besar catatan dapat berdampak pada kinerja.

2. Demo Database

Di bawah ini adalah pilihan dari "Pelanggan" tabel dalam database Northwind sampel:
N. SQL MIN AND MAX FUNCTIONS

1) SQL Min dan Max Fungsi

The MIN () fungsi mengembalikan nilai terkecil dari kolom yang dipilih.

MAX () fungsi mengembalikan nilai terbesar dari kolom yang dipilih.

 MIN Sintaks

SELECT MIN(column_name)
FROM table_name
WHERE condition;

 MAX Sintaks

SELECT MAX(column_name)
FROM table_name
WHERE condition;

2) Demo Database

Di bawah ini adalah pilihan dari "Produk" tabel dalam database Northwind sampel:
O. SQL COUNT, AVG AND SUM FUNCTIONS

a) The SQL COUNT, AVG and SUM Functions

COUNT () mengembalikan fungsi jumlah baris yang cocok dengan kriteria tertentu.

AVG () fungsi mengembalikan nilai rata-rata dari kolom numerik.

The SUM () mengembalikan fungsi jumlah total kolom numerik.

 Count Sintaks

SELECT COUNT(column_name)
FROM table_name
WHERE condition;

 AVG Sintaks

SELECT AVG(column_name)
FROM table_name
WHERE condition;

 SUM Sintaks
SELECT SUM(column_name)
FROM table_name
WHERE condition;

b) Demo Database

Di bawah ini adalah pilihan dari "Produk" tabel dalam database Northwind sampel:

P. SQL seperti Operator


Operator LIKE digunakan dalam klausa WHERE untuk mencari pola yang ditentukan
dalam kolom. Ada dua wildcard sering digunakan dalam hubungannya dengan operator LIKE
yaitu % - Tanda persen mewakili nol, satu, atau beberapa karakter dan _ - garis bawah mewakili
karakter dengan catatan MS Acces menggunakan tanda bintang (*) bukan tanda persen (%) dan
tanda tanya bukan garis bawah (_) (?).

Berikut ini adalah beberapa contoh yang menunjukkan operator seperti berbeda dengan '%' dan
'_' wildcard:

SEPERTI DESKRIPSI
OPERATOR
DIMANA Nama Menemukan nilai apa pun yang dimulai dengan "a"
Pelanggan SEPERTI
'a%'

DIMANA Nama Menemukan nilai apa pun yang diakhiri dengan "a"
Pelanggan SEPERTI
'% a'

DIMANA Nama Menemukan nilai yang memiliki "atau" di posisi apa pun
pelanggan SEPERTI
'%or%'

DIMANA Nama Menemukan nilai yang memiliki "r" di posisi kedua


pelanggan SEPERTI
'_r%'

DIMANA Nama Temukan nilai apa pun yang dimulai dengan "a" dan
pelanggan SEPERTI panjangnya minimal 3 karakter
'a_%_%'

DIMANA Nama Temukan nilai apa pun yang dimulai dengan "a" dan diakhiri
pelanggan SEPERTI dengan "o"
'a%o'
Demo database

Di bawah ini adalah pilihan dari "Pelanggan" tabel dalam database Northwind sampel:

Custo CustomerNa ContactNam Address City Postal Countr


merI me e Code y
D

1 Alfreds Maria Obere Str. 57 Berlin 12209 German


Futterkiste Anders y

2 Ana Trujillo Ana Trujillo Avda. de la México 05021 Mexico


Emparedados Constitución D.F.
y helados 2222

3 Antonio Antonio Mataderos México 05023 Mexico


Moreno Moreno 2312 D.F.
Taquería

4 Around the Thomas 120 Hanover London WA1 UK


Horn Hardy Sq. 1DP

5 Berglunds Christina Berguvsväge Luleå S-958 Sweden


snabbköp Berglund n8 22
Salah satu contoh SQL LIKE yaitu

Pernyataan SQL berikut memilih semua pelanggan dengan nama pelanggan dimulai dengan "a":
Contoh

SELECT * FROM Customers


WHERE CustomerName LIKE 'a%';

Pernyataan SQL berikut memilih semua pelanggan dengan nama pelanggan berakhir dengan "a":
Contoh

SELECT * FROM Customers


WHERE CustomerName LIKE '%a';

P. SQL Wildcard

 Karakter SQL Wildcard

 Karakter wildcard digunakan untuk menggantikan satu atau lebih karakter dalam sebuah
string.
 Karakter wildcard digunakan dengan SQL LIKE operator. Operator LIKE digunakan
dalam klausa WHERE untuk mencari pola yang ditentukan dalam kolom.

 Menggunakan% Wildcard

 Pernyataan SQL berikut memilih semua pelanggan dengan kota dimulai dengan "ber":
 Pernyataan SQL berikut memilih semua pelanggan dengan Kota yang berisi pola "es":

 Menggunakan _ Wildcard

 Pernyataan SQL berikut memilih semua pelanggan dengan Kota dimulai dengan karakter
apapun, diikuti oleh "ondon":
 Pernyataan SQL berikut memilih semua pelanggan dengan kota dimulai dengan "L",
diikuti oleh karakter apapun, diikuti dengan "n", diikuti oleh karakter apapun, diikuti
dengan "on":

 Menggunakan [charlist] Wildcard

 Pernyataan SQL berikut memilih semua pelanggan dengan kota dimulai dengan "b", "s",
atau "p":
 Pernyataan SQL berikut memilih semua pelanggan dengan kota dimulai dengan "a", "b",
atau "c":

 Menggunakan [! Charlist] Wildcard

 Dua berikut pernyataan SQL pilih semua pelanggan dengan Kota TIDAK dimulai dengan
"b", "s", atau "p":

Q. SQL IN OPERATOR

Operator IN memungkinkan Anda untuk menentukan beberapa nilai dalam klausul


MANA. Operator IN adalah singkatan untuk beberapa ATAU kondisi.

DI Sintaks

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);

Demo database

Di bawah ini adalah pilihan dari "Pelanggan" tabel dalam database Northwind sampel:
Custo CustomerNam ContactNa Address City PostalCo Coun
merI e me de try
D

1 Alfreds Maria Obere Str. Berlin 12209 Germ


Futterkiste Anders 57 any

2 Ana Trujillo Ana Avda. de México 05021 Mexi


Emparedados y Trujillo la D.F. co
helados Constituci
ón 2222

3 Antonio Antonio Mataderos México 05023 Mexi


Moreno Moreno 2312 D.F. co
Taquería

4 Around the Thomas 120 London WA1 1DP UK


Horn Hardy Hanover
Sq.

5 Berglunds Christina Berguvsvä Luleå S-958 22 Swed


snabbköp Berglund gen 8 en
DI Contoh Operator

Pernyataan SQL berikut memilih semua pelanggan yang berlokasi di "Jerman", "Perancis" dan
"UK": Contoh

SELECT * FROM Customers


`WHERE Country IN ('Germany', 'France', 'UK');

R. SQL ANTARA Operator

BETWEEN Operator memilih nilai-nilai dalam kisaran tertentu. Nilai-nilai dapat angka,
teks, atau tanggal. Operator ANTARA inklusif: mulai dan nilai-nilai akhir disertakan.

Demo database

Di bawah ini adalah pilihan dari "Produk" tabel dalam database Northwind sampel:

ProductID ProductName SupplierID CategoryID Unit Price

1 Chais 1 1 10 boxes x 20 18
bags

2 Chang 1 1 24 - 12 oz 19
bottles

3 Aniseed Syrup 1 2 12 - 550 ml 10


bottles
4 Chef Anton's 1 2 48 - 6 oz jars 22
Cajun
Seasoning

5 Chef Anton's 1 2 36 boxes 21.35


Gumbo Mix

ANTARA Contoh

Pernyataan SQL berikut memilih semua produk dengan harga ANTARA 10 dan 20:

Contoh

SELECT * FROM Products


WHERE Price BETWEEN 10 AND 20;
TIDAK ANTARA Contoh

Untuk menampilkan produk di luar jangkauan contoh sebelumnya, menggunakan TIDAK


ANTARA:

Contoh

SELECT * FROM Products


WHERE Price NOT BETWEEN 10 AND 20;
1. SQL Aliases

SQL Aliases digunakan untuk memberikan tabel, atau kolom dalam tabel, nama sementara. Alias
sering digunakan untuk membuat nama kolom lebih mudah dibaca. Alias hanya ada selama
durasi kueri.

Alias Column Syntax

SELECT column_name AS alias_name


FROM table_name;

Alias Table Syntax

SELECT column_name(s)
FROM table_name AS alias_name;

Demo DataBase
Dalam tutorial ini kita akan menggunakan database sampel Northwind yang terkenal. Di bawah ini adalah
pilihan dari tabel "Pelanggan":
Dan pilihan dari tabel "Pesanan":

Alias for Columns Examples


Pernyataan SQL berikut ini membuat dua alias, satu untuk kolom CustomerID dan satu untuk kolom
CustomerName:
Contoh

SELECT CustomerID AS ID, CustomerName AS Customer


FROM Customers;

Pernyataan SQL berikut ini membuat dua alias, satu untuk kolom CustomerName dan satu untuk kolom
ContactName. Catatan: Dibutuhkan tanda kutip ganda atau tanda kurung jika nama alias mengandung spasi:

Contoh
SELECT CustomerName AS Customer, ContactName AS [Contact Person]
FROM Customers;

The following SQL statement creates an alias named "Address" that combine four columns (Address,
PostalCode, City and Country):

Contoh

SELECT CustomerName, Address + ', ' + PostalCode + ' ' + City + ', ' + Country AS Address
FROM Customers;

Catatan: Agar pernyataan SQL di atas berfungsi di MySQL, gunakan yang berikut ini:
SELECT CustomerName, CONCAT(Address,', ',PostalCode,', ',City,', ',Country) AS Address
FROM Customers;
Alias for Tables Example
Pernyataan SQL berikut memilih semua pesanan dari pelanggan dengan CustomerID = 4 (Around the Horn). Kami
menggunakan tabel "Pelanggan" dan "Pesanan", dan memberi mereka masing-masing tabel alias "c" dan "o" (Di sini
kami menggunakan alias untuk mempersingkat SQL):
Contoh
SELECT o.OrderID, o.OrderDate, c.CustomerName
FROM Customers AS c, Orders AS o
WHERE c.CustomerName="Around the Horn" AND c.CustomerID=o.CustomerID;

Pernyataan SQL berikut ini sama dengan di atas, tetapi tanpa alias:
Contoh
SELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerName
FROM Customers, Orders
WHERE Customers.CustomerName="Around the Horn" AND Customers.CustomerID=Orders.CustomerID;

Aliases dapat bermanfaat saat:

 Ada lebih dari satu tabel yang terlibat dalam kueri


 Fungsi digunakan dalam kueri
 Nama kolom besar atau tidak terlalu mudah dibaca
 Dua atau lebih kolom digabungkan bersama

Test Yourself With Exercises

Exercise:

When displaying the Customers table, make an ALIAS of the PostalCode column, the column
should be called Pno instead.

SELECT CustomerName,
Address,

PostalCode
FROM Customers;
2. SQL JOIN

Sql Join digunakan untuk menggabungkan baris dari dua atau lebih tabel, berdasarkan kolom terkait di antara
mereka.

Mari kita lihat pilihan dari tabel "Pesanan":

Kemudian, lihat pilihan dari tabel "Pelanggan":

Perhatikan bahwa kolom "CustomerID" di tabel "Pesanan" merujuk ke "CustomerID" di tabel


"Pelanggan". Hubungan antara dua tabel di atas adalah kolom "CustomerID". Lalu, kita bisa membuat
pernyataan SQL berikut (yang berisi INNER JOIN), yang memilih rekaman yang memiliki nilai yang
cocok di kedua tabel:

Contoh

SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate


FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;

dan itu akan menghasilkan sesuatu seperti ini:


Berbagai Jenis SQL BERGABUNG
Berikut adalah berbagai jenis GABUNGAN dalam SQL:

(INNER) BERGABUNG: Mengembalikan catatan yang memiliki nilai yang cocok di kedua tabel
LEFT (OUTER) BERGABUNG: Kembalikan semua catatan dari tabel kiri, dan catatan yang cocok dari tabel kanan
KANAN (OUTER) BERGABUNG: Kembalikan semua catatan dari tabel kanan, dan catatan yang cocok dari tabel
kiri
FULL (OUTER) JOIN: Kembalikan semua catatan saat ada kecocokan di tabel kiri atau kanan

Test yourself with exercises ith Exercises

Exercise:

Masukkan bagian yang hilang di klausa GABUNG untuk bergabung dengan dua tabel Pesanan dan Pelanggan,
menggunakan bidang CustomerID di kedua tabel sebagai hubungan antara dua tabel.

3. SQL INNER JOIN Keyword


Kata kunci INNER JOIN memilih catatan yang memiliki nilai yang cocok di kedua tabel.
INNER JOIN Syntax

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;

Demo Database
Dalam tutorial ini kita akan menggunakan database sampel Northwind yang terkenal. Di
bawah ini adalah pilihan dari tabel "Pesanan":

Dan pilihan dari tabel "Pelanggan":


SQL INNER JOIN Example
Pernyataan SQL berikut memilih semua pesanan dengan informasi pelanggan:
Contoh
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;

Catatan: Kata kunci INNER JOIN memilih semua baris dari kedua tabel selama ada kecocokan antara
kolom. Jika ada catatan di tabel "Pesanan" yang tidak memiliki kecocokan di "Pelanggan", pesanan ini
tidak akan ditampilkan!

JOIN Three Tables


Pernyataan SQL berikut memilih semua pesanan dengan informasi pelanggan dan pengirim:

Contoh

SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName


FROM ((Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID)
INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID);

Test Yourself With Execises

Exercise:
Pilih klausa GABUNG yang benar untuk memilih semua catatan dari dua tabel di mana ada
kecocokan di kedua tabel.

4. SQL LEFT JOIN Keyword

Kata kunci LEFT JOIN mengembalikan semua catatan dari tabel kiri (table1), dan catatan yang cocok dari tabel
kanan (table2). Hasilnya NULL dari sisi kanan, jika tidak ada kecocokan.
Left Join Syntax

SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;

Catatan: Dalam beberapa database LEFT JOIN disebut LEFT OUTER JOIN.
Demo Database
Dalam tutorial ini kita akan menggunakan database sampel Northwind yang terkenal. Di
bawah ini adalah pilihan dari tabel "Pelanggan":

Dan pilihan dari tabel "Pesanan":

SQL LEFT JOIN Example


Pernyataan SQL berikut akan memilih semua pelanggan, dan setiap pesanan yang mungkin mereka miliki:
Contoh

SELECT Customers.CustomerName, Orders.OrderID


FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.CustomerName;

Note: The LEFT JOIN keyword returns all records from the left table (Customers), even if
there are no matches in the right table (Orders).

X. SQL RIGHT JOIN Kata Kunci


KANAN JOIN kembali kunci semua catatan dari tabel kanan (table2), dan catatan cocok
dari tabel kiri (table1). Hasilnya adalah NULL dari sisi kiri, ketika tidak ada
pertandingan.

Contoh
SELECT Orders.OrderID, Employees.LastName, Employees.FirstName
FROM Orders
RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
ORDER BY Orders.OrderID;

Y. SQL LENGKAP Outer JOIN Kata Kunci


FULL OUTER JOIN kembali kata kunci semua catatan ketika ada pertandingan baik kiri
(Table1) atau kanan catatan (table2) tabel.

Catatan: LENGKAP Outer JOIN berpotensi dapat kembali sangat besar hasil-set!

Tip: LENGKAP OUTER JOIN dan LENGKAP BERGABUNG adalah sama.


o LENGKAP Outer JOIN Sintaks
SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name
WHERE condition;
o Demo database
Dalam tutorial ini kita akan menggunakan terkenal sampel database Northwind.
Di bawah ini adalah pilihan dari "Pelanggan" tabel:
CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
Ana Trujillo Avda. de la
México
2 Emparedados y Ana Trujillo Constitución 05021 Mexico
D.F.
helados 2222
Antonio Moreno Antonio Mataderos México
3 05023 Mexico
Taquería Moreno 2312 D.F.
Dan pilihan dari "Pesanan" tabel:
OrderID CustomerID EmployeeID OrderDate ShipperID
10308 2 7 1996-09-18 3
10309 37 3 1996-09-19 1
10310 77 8 1996-09-20 2

Contoh

Pernyataan SQL berikut memilih semua pelanggan, dan semua perintah:


SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;

Z. SQL Diri BERGABUNG


Sebuah diri BERGABUNG adalah bergabung biasa, namun meja bergabung dengan
dirinya sendiri.
1. Diri BERGABUNG Sintaks
SELECT column_name(s)
FROM table1 T1, table1 T2
WHERE condition;
2. Demo database

Dalam tutorial ini kita akan menggunakan terkenal sampel database Northwind.

Di bawah ini adalah pilihan dari "Pelanggan" tabel:

CustomerID CustomerName ContactName Address City PostalCode Country

1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany

2 Ana Trujillo Ana Trujillo Avda. de la México 05021 Mexico


Emparedados y
helados Constitución 2222 D.F.

Antonio Moreno Antonio México


3 Mataderos 2312 05023 Mexico
Taquería Moreno D.F.

Contoh

SELECT A.CustomerName AS CustomerName1, B.CustomerName AS


CustomerName2, A.City
FROM Customers A, Customers B
WHERE A.CustomerID <> B.CustomerID
AND A.City = B.City
ORDER BY A.City;

AA. SQL UNION Operator


SQL UNION Operator

Operator UNION digunakan untuk menggabungkan hasil-set dari dua atau lebih SELECT
pernyataan.

Setiap pernyataan SELECT dalam UNION harus memiliki jumlah kolom yang sama
Kolom juga harus memiliki tipe data yang sama
Kolom dalam setiap pernyataan SELECT juga harus dalam urutan yang sama

1. UNION Sintaks
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
2. UNION ALL Sintaks

Operator UNION memilih hanya nilai yang berbeda secara default. Untuk
memungkinkan nilai-nilai duplikat, gunakan UNION ALL:
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
3. Demo database

Dalam tutorial ini kita akan menggunakan terkenal sampel database Northwind.

Di bawah ini adalah pilihan dari "Pelanggan" tabel:


CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
Ana Trujillo Avda. de la
México
2 Emparedados y Ana Trujillo Constitución 05021 Mexico
D.F.
helados 2222
Antonio Moreno Antonio Mataderos México
3 05023 Mexico
Taquería Moreno 2312 D.F.
Dan pilihan dari "Pemasok" tabel:
SupplierID SupplierName ContactName Address City PostalCode Country
Charlotte 49 Gilbert
1 Exotic Liquid London EC1 4SD UK
Cooper St.
New Orleans Cajun P.O. Box New
2 Shelley Burke 70117 USA
Delights 78934 Orleans
Grandma Kelly's 707 Oxford Ann
3 Regina Murphy 48104 USA
Homestead Rd. Arbor
Contoh
SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;

Pernyataan SQL GROUP BY

Baris grup pernyataan GROUP BY yang memiliki nilai yang sama ke dalam baris ringkasan, seperti
"temukan jumlah pelanggan di setiap negara".

Pernyataan GROUP BY sering digunakan dengan fungsi agregat (COUNT, MAX, MIN, SUM, AVG) untuk
mengelompokkan hasil-set dengan satu atau beberapa kolom.

KELOMPOK OLEH Sintaks

SELECT nama_kolom

DARI table_name
Kondisi dimana

GROUP BY nama_kolom

ORDER BY column_name (s);

Database Demo

Di bawah ini adalah pilihan dari tabel "Pelanggan" di database sampel Northwind

SQL GROUP BY Contoh

Pernyataan SQL berikut mencantumkan jumlah pelanggan di setiap negara:

Contoh

SELECT COUNT (CustomerID), Negara

DARI Pelanggan

KELOMPOK MENURUT Negara;

Cobalah sendiri "

Pernyataan SQL berikut mencantumkan jumlah pelanggan di setiap negara, diurutkan dari tinggi ke
rendah:

Contoh

SELECT COUNT (CustomerID), Negara

DARI Pelanggan
KELOMPOK MENURUT Negara

PESANAN DENGAN COUNT (CustomerID) DESC;

Cobalah sendiri "

Database Demo

Di bawah ini adalah pilihan dari tabel "Pesanan" di database sampel Northwind

KELOMPOK DENGAN DENGAN GABUNG Contoh

Pernyataan SQL berikut mencantumkan jumlah pesanan yang dikirim oleh masing-masing pengirim:

Contoh

SELECT Shippers.ShipperName,

COUNT (Pesanan.OrderID) SEBAGAI NumberOfOrders DARI Pesanan

LEFT JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID

GROUP BY ShipperName

SQL ANY ANY dan ALL Operator

❮ Sebelumnya Berikutnya ❯

SQL ANY ANY dan ALL Operator

Operator ANY dan ALL digunakan dengan klausa WHERE atau HAVING.
Operator APAPUN mengembalikan true jika salah satu dari nilai subquery memenuhi kondisi.

SEMUA operator mengembalikan true jika semua nilai subquery memenuhi kondisi.

Sintaks APAPUN

SELECT nama_kolom

DARI table_name

WHERE operator kolom_name APAPUN

(SELECT column_name FROM kondisi table_nameWHERE);

SEMUA Sintaks

SELECT nama_kolom

DARI table_name

WHERE operator kolom_name SEMUA

(SELECT column_name FROM table_name kondisi WHERE);

Catatan: Operator harus menjadi operator perbandingan standar (=, <>,! =,>,> =, <, Atau <=).

Database Demo

Di bawah ini adalah pilihan dari tabel "Produk" di database sampel Northwind

Contoh SQL APAPUN


Operator APAPUN mengembalikan TRUE jika salah satu dari nilai subquery memenuhi ketentuan.

Pernyataan SQL berikut mengembalikan TRUE dan mencantumkan nama-nama produk jika ia
menemukan rekaman APAPUN dalam tabel OrderDetails yang kuantitas = 10:

Contoh

SELECT ProductName

DARI Produk

WHERE ProductID = ANY (PILIH ProductID DARI OrderDetails WHERE Quantity = 10);

Cobalah sendiri "

Pernyataan SQL berikut mengembalikan TRUE dan mencantumkan nama-nama produk jika ia
menemukan rekaman APAPUN dalam tabel OrderDetails yang jumlahnya> 99:

Contoh

SELECT ProductName

DARI Produk

WHERE ProductID = ANY (SELECT ProductID DARI OrderDetails WHERE Quantity> 99);

Cobalah sendiri "

Contoh SQL ALL


SEMUA operator mengembalikan TRUE jika semua nilai subquery memenuhi kondisi.

Pernyataan SQL berikut mengembalikan TRUE dan mencantumkan nama-nama produk jika SEMUA
catatan dalam tabel OrderDetails memiliki kuantitas = 10:

Contoh

SELECT ProductName

DARI Produk

WHERE ProductID = ALL (PILIH ProductID DARI OrderDetails WHERE Quantity = 10)

SQL SELECT INTO Pernyataan

SELECT INTO salinan pernyataan data dari satu meja ke meja baru.

a. SELECT INTO Sintaks

Salin semua kolom dalam tabel baru:

SELECT *
INTO newtable [IN externaldb]
FROM oldtable
WHERE condition;

Salin hanya beberapa kolom dalam tabel baru:

SELECT column1, column2, column3, ...


INTO newtable [IN externaldb]
FROM oldtable
WHERE condition;

Tabel baru akan dibuat dengan kolom-nama dan jenis sebagaimana didefinisikan dalam
meja tua. Anda dapat membuat nama kolom baru menggunakan klausa AS.

b. Contoh SQL SELECT INTO


Pernyataan SQL berikut membuat salinan cadangan dari Pelanggan:

SELECT * INTO CustomersBackup2017


FROM Customers;

Pernyataan SQL berikut menggunakan klausa IN untuk menyalin tabel ke tabel baru di
database lain:

SELECT * INTO CustomersBackup2017 IN 'Backup.mdb'


FROM Customers;

Berikut ini salinan pernyataan SQL hanya beberapa kolom dalam tabel baru:

SELECT CustomerName, ContactName INTO CustomersBackup2017


FROM Customers;

Berikut ini salinan pernyataan SQL hanya pelanggan Jerman ke tabel baru:

SELECT * INTO CustomersGermany


FROM Customers
WHERE Country = 'Germany';

Berikut SQL salinan pernyataan data dari lebih dari satu meja ke meja baru:

SELECT Customers.CustomerName, Orders.OrderID


INTO CustomersOrderBackup2017
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

Tip: SELECT INTO juga dapat digunakan untuk membuat, meja kosong baru menggunakan
skema lain. Hanya menambahkan klausul MANA yang menyebabkan permintaan untuk
kembali tidak ada data:

SELECT * INTO newtable


FROM oldtable
WHERE 1 = 0;

SQL INSERT INTO SELECT Pernyataan

a. INSERT INTO SELECT salinan pernyataan data dari satu meja dan memasukkan ke meja
lain.

 INSERT INTO SELECT mensyaratkan bahwa jenis data dalam sumber dan target tabel
cocok
 Catatan yang ada dalam tabel target tidak terpengaruh

b. INSERT INTO SELECT Syntax

Salin semua kolom dari satu meja ke meja lain:

INSERT INTO table2


SELECT * FROM table1
WHERE condition;

Salin hanya beberapa kolom dari satu meja ke meja lain:

INSERT INTO table2 (column1, column2, column3, ...)


SELECT column1, column2, column3, ...
FROM table1
WHERE condition;

3. Demo database

Dalam tutorial ini kita akan menggunakan terkenal sampel database Northwind.

Di bawah ini adalah pilihan dari "Pelanggan" tabel:

CustomerID Customer ContactN Address City PostalCod Country


Name ame e
1 Alfreds Maria Obere Str. Berlin 12209 German
Futterkiste Anders 57 y
2 Ana Ana Avda. de la Méxic 05021 Mexico
Trujillo Trujillo Constitució o D.F.
Empareda n 2222
dos y
helados
3 Antonio Antonio Mataderos Méxic 05023 Mexico
Moreno Moreno 2312 o D.F.
Taquería

Dan pilihan dari "Pemasok" tabel:

CustomerID Custom ContactName Address City PostalCode Country


erName
1 Exotic Charlotte 49 Londona EC1 4SD UK
Liquid Cooper Gilbert
St.
2 New Shelley P.O. New 70117 USA
Orleans Burke Box Orleans
Cajun 78934
Delights
3 Grandm Regina 707 Ann 48104 USA
a Murphy Oxford Arbor
Kelly's Rd.
Homest
ead

SQL KASUS Pernyataan

1. Pernyataan SQL KASUS

Pernyataan KASUS melewati kondisi dan mengembalikan nilai saat kondisi pertama bertemu
(seperti pernyataan IF-THEN-ELSE). Jadi, sekali kondisi benar, itu akan berhenti membaca
dan mengembalikan hasil. Jika tidak ada kondisi yang benar, itu mengembalikan nilai dalam
klausa ELSE.

Jika tidak ada bagian ELSE dan tidak ada kondisi yang benar, ia mengembalikan NULL.

KASUS Sintaks

CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN conditionN THEN resultN
ELSE result
END;

2. Demo database

Di bawah ini adalah pilihan dari "OrderDetails" tabel dalam database Northwind sampel:

OrderDetailID OrderID ProductID Quantity


1 10248 11 12
2 10248 42 10
3 10248 72 5
4 10249 14 9
5 10249 51 40
SQL NULL Fungsi

1. SQL IFNULL (), IsNull (), Bersatu (), dan NVL () Fungsi

Lihatlah "Produk" tabel berikut:

P_Id ProductName UnitPrice UnitsInStock UnitsOnOrder


Jarlsberg 10.45 16 15
Mascarpone 32.56 16
Gorgonzola 15.67 9 20

Misalkan bahwa "UnitsOnOrder" kolom adalah opsional, dan mungkin berisi nilai NULL.

Lihatlah pernyataan SELECT berikut:

SELECT ProductName, UnitPrice * (UnitsInStock + UnitsOnOrder)


FROM Products;

Dalam contoh di atas, jika salah satu dari nilai-nilai "UnitsOnOrder" adalah NULL, hasilnya
akan NULL.

2, Solusi

a. MySQL

The MySQL IFNULL () fungsi memungkinkan Anda mengembalikan nilai alternatif jika
ekspresi adalah NULL:

SELECT ProductName, UnitPrice * (UnitsInStock + IFNULL(UnitsOnOrder, 0))


FROM Products;

atau kita dapat menggunakan Bersatu () fungsi, seperti ini:


SELECT ProductName, UnitPrice * (UnitsInStock + COALESCE(UnitsOnOrder, 0))
FROM Products;

b. SQL Server

SQL Server ISNULL () fungsi memungkinkan Anda mengembalikan nilai alternatif ketika
ekspresi adalah NULL:

SELECT ProductName, UnitPrice * (UnitsInStock + ISNULL(UnitsOnOrder, 0))


FROM Products;

c. MS Access

MS Access IsNull () fungsi mengembalikan TRUE (-1) jika ekspresi adalah nilai null, jika
tidak PALSU (0):

SELECT ProductName, UnitPrice * (UnitsInStock + IIF(IsNull(UnitsOnOrder), 0,


UnitsOnOrder))
FROM Products;

d. Peramal

Oracle NVL () fungsi mencapai hasil yang sama:

SELECT ProductName, UnitPrice * (UnitsInStock + NVL(UnitsOnOrder, 0))


FROM Products;

SQL Stored Prosedur untuk SQL Server

Apa itu Stored Prosedur?

Sebuah prosedur yang tersimpan adalah kode SQL siap yang dapat Anda simpan, sehingga
kode dapat digunakan kembali lagi dan lagi.

Jadi jika Anda memiliki sebuah query SQL yang Anda tulis lagi dan lagi, simpan sebagai
prosedur yang tersimpan, dan kemudian hanya menyebutnya untuk melaksanakannya.

Anda juga dapat melewatkan parameter ke prosedur yang tersimpan, sehingga prosedur yang
tersimpan dapat bertindak berdasarkan nilai parameter (s) yang dilewatkan.

a. Stored Prosedur Sintaks

CREATE PROCEDURE procedure_name


AS
sql_statement
GO;

b. Jalankan Prosedur Tersimpan

EXEC procedure_name;

c. Demo database

Di bawah ini adalah pilihan dari "Pelanggan" tabel dalam database Northwind sampel:

CustomerI CustomerNa ContactNam Address City PostalCod Country


D me e e
Alfreds Maria Obere Str. Berlin 12209 German
Futterkiste Anders 57 y

Ana Trujillo Ana Trujillo Avda. de la Méxic 05021 Mexico


Emparedados Constitución o D.F.
y helados 2222
Antonio Antonio Mataderos Méxic 05023 Mexico
Moreno Moreno 2312 o D.F.
Taquería
Around the Thomas 120 Hanover Londo WA1 1DP UK
Horn Hardy Sq. n

Berglunds Christina Berguvsväge Luleå S-958 22 Sweden


snabbköp Berglund n8

d. Stored Prosedur Dengan Satu Parameter

Pernyataan SQL berikut membuat prosedur tersimpan yang memilih Pelanggan dari Kota
tertentu dari "Pelanggan" tabel:

Contoh

CREATE PROCEDURE SelectAllCustomers @City nvarchar(30)


AS
SELECT * FROM Customers WHERE City = @City
GO;

Menjalankan prosedur yang tersimpan di atas sebagai berikut:

Contoh
EXEC SelectAllCustomers City = "London";

e. Prosedur disimpan Dengan Beberapa Parameter

Menyiapkan beberapa parameter sangat mudah. Hanya daftar setiap parameter dan tipe data
dipisahkan dengan koma seperti yang ditunjukkan di bawah ini.

Pernyataan SQL berikut membuat prosedur tersimpan yang memilih Pelanggan dari Kota
tertentu dengan PostalCode tertentu dari "Pelanggan" tabel:

Contoh

CREATE PROCEDURE SelectAllCustomers @City nvarchar(30), @PostalCode


nvarchar(10)
AS
SELECT * FROM Customers WHERE City = @City AND PostalCode = @PostalCode
GO;

Menjalankan prosedur yang tersimpan di atas sebagai berikut:

Contoh

EXEC SelectAllCustomers City = "London", PostalCode = "WA1 1DP";

 SQL KATA KUNCI

 Menambahkan

Perintah ini digunakan untuk menambahkan kolom di tabel yang ada.

SQL berikut menambahkan kolom "Email" ke "Pelanggan" table

Contoh

ALTER TABLE Customers

ADD Email varchar(255);

 ADD CONSTRAINT

Perintah ini digunakan untuk membuat kendala setelah tabel sudah dibuat.
SQL berikut menambahkan kendala bernama "PK_Person" yang merupakan kendala
PRIMARY KEY pada beberapa kolom (ID dan LastName):

Contoh

ALTER TABLE Persons

ADD CONSTRAINT PK_Person PRIMARY KEY (ID,LastName);

 ALTER TABLE

perintah menambahkan, menghapus, atau memodifikasi kolom dalam sebuah tabel.

perintah juga menambahkan dan menghapus berbagai kendala dalam sebuah


tabel.SQL berikut menambahkan kolom "Email" ke "Pelanggan" tabel:

Contoh

ALTER TABLE Customers

ADD Email varchar(255);

SQL berikut menghapus kolom "Email" dari "Pelanggan" tabel:

Contoh

ALTER TABLE Customers

DROP COLUMN Email;

 ALTER COLUMN

Perintah ini digunakan untuk mengubah tipe data dari kolom dalam sebuah tabel.

SQL berikut mengubah tipe data dari kolom bernama "BirthDate" di "Karyawan"
tabel untuk mengetik tahun:

Contoh

ALTER TABLE Employees


ALTER COLUMN BirthDate year;

 ALTER COLUMN

Perintah ini digunakan untuk mengubah tipe data dari kolom dalam sebuah tabel.

SQL berikut mengubah tipe data dari kolom bernama "BirthDate" di "Karyawan"
tabel untuk mengetik tahun:

Contoh

ALTER TABLE Employees

ALTER COLUMN BirthDate year;

 ALTER TABLE

perintah menambahkan, menghapus, atau memodifikasi kolom dalam sebuah tabel.

perintah juga menambahkan dan menghapus berbagai kendala dalam sebuah


tabel.SQL berikut menambahkan kolom "Email" ke "Pelanggan" tabel:

Contoh

ALTER TABLE Customers

ADD Email varchar(255);

SQL berikut menghapus kolom "Email" dari "Pelanggan" table

Contoh

ALTER TABLE Customers

DROP COLUMN Email;

 MySQL Fungsi

 Fungsi MySQL String

 MySQL ASCII () Fungsi


Contoh

Mengembalikan nilai ASCII dari karakter pertama dalam "CustomerName":

SELECT ASCII(CustomerName) AS NumCodeOfFirstChar

FROM Customers;

 MySQL CHAR_LENGTH () Fungsi

The CHAR_LENGTH () fungsi mengembalikan panjang string (dalam karakter).

Contoh

Mengembalikan panjang string:

SELECT CHAR_LENGTH("SQL Tutorial") AS LengthOfString;

 MySQL CHARACTER_LENGTH () Fungsi

fungsi mengembalikan panjang string (dalam karakter)

Contoh

Mengembalikan panjang string:

SELECT CHARACTER_LENGTH("SQL Tutorial") AS LengthOfString;

 Fungsi MySQL Numeric

 ABS

mengembalikan fungsi absolut nilai (positif) dari sebuah nomor.

Contoh

Mengembalikan nilai absolut dari angka:

SELECT ABS(-243.5);

 MySQL ACOS () Fungsi


mengembalikan fungsi cosinus busur nomor. Jumlah yang ditentukan harus antara
-1 sampai 1, jika tidak fungsi ini mengembalikan NULL.

Contoh

Kembali kosinus busur nomor:

SELECT ACOS(0.25);

 Fungsi Tanggal MySQL

 MySQL ADDDATE () Fungsi

Contoh

Menambahkan 10 hari untuk kencan dan kembali tanggal:

SELECT ADDDATE("2017-06-15", INTERVAL 10 DAY);

 MySQL ADDTIME () Fungsi

Contoh

Tambahkan 2 detik untuk waktu dan kembali datetime:

SELECT ADDTIME("2017-06-15 09:34:21", "2");

 SQL Server Fungsi

 Fungsi SQL Server String

 ASCII

Contoh

Mengembalikan nilai ASCII dari karakter pertama dalam "CustomerName":

SELECT ASCII(CustomerName) AS NumCodeOfFirstChar

FROM Customers;

 CHAR
Contoh

Kembali karakter berdasarkan kode nomor 65:

SELECT CHAR(65) AS CodeToCharacter;

 SQL Server Matematika / Fungsi Numeric

 ABS

Contoh

Mengembalikan nilai absolut dari angka:

SELECT Abs(-243.5) AS AbsNum;

 ACOS

Contoh

Kembali kosinus busur nomor:

SELECT ACOS(0.25);

 SQL Server Fungsi Tanggal

 SQL Server CURRENT_TIMESTAMP Fungsi

Contoh

Kembali tanggal dan waktu:

SELECT CURRENT_TIMESTAMP;

 DATEADD

Contoh

Tambahkan satu tahun untuk kencan, kemudian kembali tanggal:


SELECT DATEADD(year, 1, '2017/08/25') AS DateAdd;

 MS Access Fungsi

 Fungsi MS Access String

 MS Access Asc () Fungsi

Contoh

Mengembalikan nilai ASCII dari karakter pertama dalam "CustomerName":

SELECT Asc(CustomerName) AS NumCodeOfFirstChar

FROM Customers;

 MS Access C hr () Fungsi

Contoh

Kembali karakter berdasarkan kode nomor 65:

SELECT Chr(65) AS CodeToCharacter;

 MS Access Concat Dengan &

Contoh

Menambahkan 3 kolom bersama menjadi satu kolom "Address":

SELECT Address & ", " & PostalCode & ", " & City AS Address

FROM Customers;

 Fungsi MS Access Numeric

 MS Access Abs () Fungsi

Contoh

Mengembalikan nilai absolut dari angka:


SELECT Abs(-243.5) AS AbsNum;

 MS Access Atn () Fungsi

Contoh

Kembalikan tangen busur nomor:

SELECT Atn(5) AS AtnNum;

 MS Access rata () Fungsi

Contoh

Mengembalikan nilai rata-rata untuk kolom "Harga" di "Produk" tabel:

SELECT Avg(Price) AS AveragePrice FROM Products;

 Fungsi Tanggal MS Access

 MS Access Tanggal () Fungsi

Contoh

Kembali tanggal sistem saat ini:

SELECT CustomerName, Date() AS CurrentDate

FROM Customers;

 MS Access DateAdd () Fungsi

Contoh

Menambahkan dua tahun untuk tanggal yang ditentukan:

SELECT DateAdd("yyyy", 2, #22/11/2017#);


 MS Access DateDiff () Fungsi
Contoh
Kembali perbedaan antara dua tanggal, di tahun:
SELECT DateDiff("yyyy", #13/01/1998#, #09/05/2017#);
 SQL Operator
 SQL Arithmetic Operator
Operator Description
+ Add
- Subtract
* Multiply
/ Divide
% Modulo

 SQL Bitwise Operator

Operator Description
& Bitwise AND
| Bitwise OR
^ Bitwise exclusive OR
 SQL Operator Perbandingan
Operator
Description

= Equal to
> Greater than
Less than
<
>= Greater than or equal
to
<= Less than or equal to
<> Not equal to

 SQL Tipe Data untuk MySQL, SQL Server, dan MS Access

 Jenis Data SQL

Setiap kolom dalam tabel database diperlukan untuk memiliki nama dan tipe
data.

Pengembang SQL harus memutuskan apa jenis data yang akan disimpan di
dalam setiap kolom saat membuat tabel. Tipe data merupakan pedoman untuk
SQL untuk memahami apa jenis data diharapkan dalam setiap kolom, dan juga
mengidentifikasi bagaimana SQL akan berinteraksi dengan data yang
tersimpan.

 Jenis MySQL Data (Versi 8.0)


 jenis data string:
Datatype Description
CHAR(size) A FIXED length string (can contain letters,
numbers, and special characters). The size
parameter specifies the column length in
characters - can be from 0 to 255. Default is 1
VARCHAR(size) A VARIABLE length string (can contain letters,
numbers, and special characters). The size
parameter specifies the maximum column
length in characters - can be from 0 to 65535
BINARY(size) Equal to CHAR(), but stores binary byte
strings. The size parameter specifies the
column length in bytes. Default is 1

 Numeric tipe data:

Data type
Description

BIT(size) A bit-value type. The number of bits


per value is specified in size. The
size parameter can hold a value
from 1 to 64. The default value for
size is 1.

TINYINT(size) A very small integer. Signed range


is from -128 to 127. Unsigned range
is from 0 to 255. The size parameter
specifies the maximum display
width (which is 255)

BOOL Zero is considered as false, nonzero


values are considered as true.

BOOLEAN Equal to BOOL

SMALLINT(size) A small integer. Signed range is


from -32768 to 32767. Unsigned
range is from 0 to 65535. The size
parameter specifies the maximum
display width (which is 255)

 Tanggal dan data Waktu jenis:

Data type
Description
DATE A date. Format: YYYY-MM-DD. The
supported range is from '1000-01-01'
to '9999-12-31'

DATETIME(fsp) A date and time combination. Format:


YYYY-MM-DD hh:mm:ss. The
supported range is from '1000-01-01
00:00:00' to '9999-12-31 23:59:59'.
Adding DEFAULT and ON UPDATE in
the column definition to get automatic
initialization and updating to the
current date and time

TIMESTAMP(fsp) A timestamp. TIMESTAMP values are


stored as the number of seconds since
the Unix epoch ('1970-01-01
00:00:00' UTC). Format: YYYY-MM-
DD hh:mm:ss. The supported range is
from '1970-01-01 00:00:01' UTC to
'2038-01-09 03:14:07' UTC.
Automatic initialization and updating
to the current date and time can be
specified using DEFAULT
CURRENT_TIMESTAMP and ON
UPDATE CURRENT_TIMESTAMP in
the column definition

 SQL Referensi Cepat dari W3Schools


SQL Statement Syntax
AND / OR SELECT column_name(s)
FROM table_name
WHERE condition
AND|OR condition
ALTER TABLE ALTER TABLE table_name
ADD column_name datatype

or

ALTER TABLE table_name


DROP COLUMN column_name
AS (alias) SELECT column_name AS column_alias
FROM table_name
or

SELECT column_name
FROM table_name AS table_alias
BETWEEN SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2
CREATE TABLE CREATE DATABASE database_name
CREATE DATABASE CREATE TABLE table_name
(
column_name1 data_type,
column_name2 data_type,
column_name3 data_type,
...
)
SQL Comments
Catatan: Contoh-contoh dalam bab ini tidak akan berfungsi di Firefox dan Microsoft
Edge!

Komentar tidak didukung di database Microsoft Access. Firefox dan Microsoft Edge
menggunakan basis data Microsoft Access dalam contoh kami.

Single Line Comments


Komentar satu baris dimulai dengan -.
Teks apa pun antara - dan akhir baris akan diabaikan (tidak akan dieksekusi).
Contoh berikut menggunakan komentar satu baris sebagai penjelasan:
Contoh:
--Select all:
SELECT * FROM Customers;

Contoh berikut menggunakan komentar satu baris untuk mengabaikan akhir baris:

Contoh:

SELECT * FROM Customers -- WHERE City='Berlin';

Contoh berikut menggunakan komentar satu baris untuk mengabaikan pernyataan:

Contoh

--SELECT * FROM Customers;


SELECT * FROM Products;

Multi-line Comments
Multi-line Comments dimulai dengan /* and end with */.
Teks apa pun di antaranya /* and */ akan diabaikan.

Contoh berikut menggunakan komentar multisaluran sebagai penjelasan:

Contoh

/ * Pilih semua kolom

dari semua catatan

dalam tabel Pelanggan: * /


PILIH * DARI Pelanggan;

Contoh berikut menggunakan komentar multi-baris untuk mengabaikan banyak


pernyataan:

Contoh

/*SELECT * FROM Customers;


SELECT * FROM Products;
SELECT * FROM Orders;
SELECT * FROM Categories;*/
SELECT * FROM Suppliers;

Untuk mengabaikan hanya sebagian dari pernyataan, gunakan juga / * * / komentar.

Contoh berikut menggunakan komentar untuk mengabaikan bagian dari suatu baris:

Contoh

SELECT CustomerName, /*City,*/ Country FROM Customers;


Contoh berikut menggunakan komentar untuk mengabaikan bagian dari pernyataan:

Contoh
SELECT * FROM Customers WHERE (CustomerName LIKE 'L%'
OR CustomerName LIKE 'R%' /*OR CustomerName LIKE 'S%'
OR CustomerName LIKE 'T%'*/ OR CustomerName LIKE 'W%')
AND Country='USA'
ORDER BY CustomerName;

SQL CREATE DATABASE Statement


The SQL CREATE DATABASE Statement
The SQL CREATE DATABASE Statement digunakan untuk membuat database SQL baru.
Sintaksis
CREATE DATABASE databasename;
Kiat: Pastikan Anda memiliki hak admin sebelum membuat basis data apa pun.
Setelah database dibuat, Anda bisa memeriksanya dalam daftar database dengan
perintah SQL berikut: SHOW DATABASES;

SQL DROP DATABASE Statement


The SQL DROP DATABASE Statement
The DROP DATABASE statement digunakan untuk menjatuhkan database SQL yang ada.
Sintaksis
DROP DATABASE databasename;

Catatan: Hati-hati sebelum menjatuhkan basis data. Menghapus basis data akan
mengakibatkan hilangnya informasi lengkap yang disimpan dalam basis data!

DROP DATABASE Example


Pernyataan SQL berikut menjatuhkan database "testDB" yang ada:
Contoh
DROP DATABASE testDB;
Tip: Pastikan Anda memiliki hak admin sebelum menjatuhkan basis data apa pun.
Setelah database dijatuhkan, Anda dapat memeriksanya di daftar database dengan
perintah SQL berikut: SHOW DATABASES;

SQL BACKUP DATABASE for SQL Server


The SQL BACKUP DATABASE Statement
Pernyataan DATABASE CADANGAN digunakan dalam SQL Server untuk membuat
cadangan penuh dari database SQL yang ada.
Sintaksis
BACKUP DATABASE databasename
TO DISK = 'filepath';

The SQL BACKUP WITH DIFFERENTIAL Statement


Pencadangan diferensial hanya mencadangkan bagian-bagian basis data yang telah
berubah sejak pencadangan basis data lengkap terakhir.

Sintaksis
BACKUP DATABASE databasename
TO DISK = 'filepath'
WITH DIFFERENTIAL;

BACKUP DATABASE Example


Pernyataan SQL berikut ini membuat cadangan penuh dari database yang ada "testDB"
ke disk D:
Contoh
BACKUP DATABASE testDB
TO DISK = 'D:\backups\testDB.bak';
Tip: Selalu cadangkan database ke drive yang berbeda dari database yang sebenarnya.
Jika Anda mengalami kerusakan disk, Anda tidak akan kehilangan file cadangan
bersama dengan database.

BACKUP WITH DIFFERENTIAL Example


Pernyataan SQL berikut ini membuat cadangan diferensial dari database "testDB":
Contoh
BACKUP DATABASE testDB
TO DISK = 'D:\backups\testDB.bak'
WITH DIFFERENTIAL;
Tip: Pencadangan diferensial mengurangi waktu pencadangan (karena hanya
perubahan yang dicadangkan).
Pernyataan SQL CREATE TABLE

Pernyataan CREATE TABLE digunakan untuk membuat tabel baru dalam database.
Sintaksis

CREATE TABLE table_name (

tipe data kolom1,

tipe data kolom2,

tipe data kolom3,

....

);

Parameter kolom menentukan nama-nama kolom tabel.

Parameter datatype menentukan jenis data yang dapat dipegang oleh kolom (mis. Varchar,
integer, tanggal, dll.).

Kiat: Untuk ikhtisar tipe data yang tersedia, buka Referensi Tipe Data lengkap kami.

Contoh SQL CREATE TABLE


Contoh berikut membuat tabel yang disebut "Orang" yang berisi lima kolom: PersonID,
LastName, FirstName, Address, dan City:

Contoh

BUAT TABEL Orang (

PersonID int,

LastName varchar (255),

FirstName varchar (255),

Address varchar (255),

City varchar (255)

);
Kolom PersonID bertipe int dan akan berisi integer.

Kolom LastName, FirstName, Address, dan City bertipe varchar dan akan menampung karakter,
dan panjang maksimum untuk bidang ini adalah 255 karakter.

Tabel "Orang" kosong sekarang akan terlihat seperti ini:

Tip: Tabel "Orang" kosong sekarang dapat diisi dengan data dengan pernyataan SQL INSERT
INTO.

Buat Tabel Menggunakan Tabel Lain


Salinan tabel yang ada juga dapat dibuat menggunakan CREATE TABLE.

Tabel baru mendapatkan definisi kolom yang sama. Semua kolom atau kolom tertentu dapat
dipilih.

Jika Anda membuat tabel baru menggunakan tabel yang ada, tabel baru akan diisi dengan nilai
yang ada dari tabel lama.

Sintaksis

CREATE TABLE new_table_name AS

PILIH kolom1, kolom2, ...

FROM existing_table_name

DI MANA ....;

SQL berikut ini membuat tabel baru yang disebut "TestTables" (yang merupakan salinan dari
tabel "Pelanggan"):

Contoh

BUAT TABEL TestTable AS

PILIH nama pengguna, nama kontak


DARI pelanggan;

Pernyataan SQL DROP TABLE

Pernyataan DROP TABLE digunakan untuk menjatuhkan tabel yang ada di database.
Sintaksis

DROP TABLE table_name;

Catatan: Hati-hati sebelum menjatuhkan meja. Menghapus tabel akan menyebabkan hilangnya
informasi lengkap yang disimpan di dalam tabel!

Contoh SQL DROP TABEL


Pernyataan SQL berikut menjatuhkan tabel "Pengirim" yang ada:

Contoh

DROP TABLE Shippers;

SQL TRUNCATE TABEL


Pernyataan TRUNCATE TABLE digunakan untuk menghapus data di dalam tabel, tetapi tidak
tabel itu sendiri.

Contoh

DROP TABLE Shippers;

Pernyataan Pernyataan SQL TABEL

Pernyataan ALTER TABLE digunakan untuk menambah, menghapus, atau memodifikasi


kolom dalam tabel yang ada.

Pernyataan ALTER TABLE juga digunakan untuk menambah dan menjatuhkan berbagai
kendala pada tabel yang ada.

ALTER TABLE - ADD Kolom


Untuk menambahkan kolom dalam tabel, gunakan sintaks berikut:
ALTER TABLE table_name

ADD datatype column_name;

SQL berikut menambahkan kolom "Email" ke tabel "Pelanggan":

Contoh

ALTER TABEL Pelanggan

ADD Email varchar (255);

ALTER TABLE - DROP COLUMN


Untuk menghapus kolom dalam tabel, gunakan sintaks berikut (perhatikan bahwa beberapa
sistem database tidak mengizinkan menghapus kolom):

ALTER TABLE table_name

DROP COLUMN nama_kolom;

SQL berikut ini menghapus kolom "Email" dari tabel "Pelanggan":

Contoh

ALTER TABEL Pelanggan

DROP COLUMN Email;

ALTER TABLE - ALTER / MODIFY COLUMN


Untuk mengubah tipe data kolom dalam tabel, gunakan sintaks berikut:

Akses SQL Server / MS:

ALTER TABLE table_name

ALTER COLUMN datatype column_name;

SQL / Oracle saya (versi sebelumnya 10G):

ALTER TABLE table_name


MODIFIKASI KOLOM datatype nama_kolom;

Oracle 10G dan yang lebih baru:

ALTER TABLE table_name

MODIFY datatype nama_kolom;

Contoh SQL ALTER TABEL

Lihatlah tabel "Orang":

ID LastName FirstName Address City

1 Hansen Ola Timoteivn 10 Sandnes

2 Svendson Tove Borgvn 23 Sandnes

3 Pettersen Kari Storgt 20 Stavanger

Sekarang kita ingin menambahkan kolom bernama "DateOfBirth" di tabel "Orang".

Kami menggunakan pernyataan SQL berikut:

ALTER TABEL Orang

ADD DateOfBirth date;

Perhatikan bahwa kolom baru, "DateOfBirth", bertipe tanggal dan akan memuat tanggal. Tipe data
menentukan tipe data apa yang bisa dimiliki oleh kolom. Untuk referensi lengkap dari semua tipe
data yang tersedia di MS Access, MySQL, dan SQL Server, buka referensi Tipe Data lengkap kami.

Tabel "Orang" sekarang akan terlihat seperti ini:


ID LastName FirstName Address City DateOfBirth

1 Hansen Ola Timoteivn 10 Sandnes

2 Svendson Tove Borgvn 23 Sandnes

3 Pettersen Kari Storgt 20 Stavanger

Ubah Contoh Tipe Data

Sekarang kami ingin mengubah tipe data kolom bernama "DateOfBirth" di tabel "Orang".

Kami menggunakan pernyataan SQL berikut:

ALTER TABEL Orang

ALTER COLUMN DateOfBirth year;

Perhatikan bahwa kolom "DateOfBirth" sekarang bertipe tahun dan akan menampung satu tahun
dalam format dua atau empat digit.

________________________________________

Contoh DROP COLUMN

Selanjutnya, kami ingin menghapus kolom bernama "DateOfBirth" di tabel "Orang".

Kami menggunakan pernyataan SQL berikut:

ALTER TABEL Orang

DROP COLUMN DateOfBirth;

Tabel "Orang" sekarang akan terlihat seperti ini:


ID LastName FirstName Address City

1 Hansen Ola Timoteivn 10 Sandnes

2 Svendson Tove Borgvn 23 Sandnes

3 Pettersen Kari Storgt 20 Stavanger

Kendala SQL

Kendala SQL digunakan untuk menentukan aturan untuk data dalam tabel.

SQL Buat Kendala


Batasan dapat ditentukan saat tabel dibuat dengan pernyataan CREATE TABLE, atau setelah
tabel dibuat dengan pernyataan ALTER TABLE.

Sintaksis

CREATE TABLE table_name (

kendala tipe data kolom1,

kendala datatype kolom2,

kendala datatype kolom3,

....

);

Kendala SQL
Kendala SQL digunakan untuk menentukan aturan untuk data dalam tabel.
Batasan digunakan untuk membatasi jenis data yang bisa masuk ke tabel. Ini memastikan
keakuratan dan keandalan data dalam tabel. Jika ada pelanggaran antara kendala dan tindakan
data, tindakan dibatalkan.

Batasan dapat berupa level kolom atau level tabel. Batasan level kolom berlaku untuk kolom,
dan batasan level tabel berlaku untuk seluruh tabel.

Batasan berikut ini biasanya digunakan dalam SQL:

NOT NULL - Memastikan bahwa kolom tidak dapat memiliki nilai NULL

UNIK - Memastikan bahwa semua nilai dalam kolom berbeda

KUNCI UTAMA - Kombinasi dari NOT NULL dan UNIK. Mengidentifikasi setiap baris dalam
tabel secara unik

KUNCI LUAR NEGERI - Unik mengidentifikasi baris / catatan di tabel lain

PERIKSA - Memastikan bahwa semua nilai dalam kolom memenuhi kondisi tertentu

DEFAULT - Menetapkan nilai default untuk kolom ketika tidak ada nilai yang ditentukan

INDEX - Digunakan untuk membuat dan mengambil data dari database dengan sangat cepat
1. SQL NOT NULL Constraint
Secara default, sebuah kolom dapat menyimpan nilai NULL.
Batasan NOT NULL memberlakukan kolom untuk TIDAK menerima nilai NULL. Ini memaksa
bidang untuk selalu mengandung nilai, yang berarti bahwa Anda tidak bisa menyisipkan catatan
baru, atau memperbarui catatan tanpa menambahkan nilai ke bidang ini.

a. SQL BUKAN NULL pada BUAT TABEL


SQL berikut memastikan bahwa kolom "ID", "LastName", dan "FirstName" TIDAK
akan menerima nilai NULL ketika tabel "Orang" dibuat:
Contoh
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255) NOT NULL,
Age int
);
b. SQL BUKAN NULL pada ALTER TABLE
Untuk membuat batasan NOT NULL pada kolom "Usia" saat tabel "Orang" sudah
dibuat, gunakan SQL berikut:
ALTER TABLE Persons
MODIFY Age int NOT NULL;

2. SQL UNIQUE Constraint

Batasan UNIQUE memastikan bahwa semua nilai dalam kolom berbeda. Batasan unik
dan kunci utama menyediakan jaminan untuk keunikan kolom atau kumpulan kolom. Batasan
primary key secara otomatis memiliki batasan unik. Namun, anda dapat memiliki banyak
kendala unik per tabel, tetapi hanya satu kendala primary kunci per tabel.

a. Sql unik kendala pada create table

SQL berikut ini menciptakan batasan unik pada kolom "ID" ketika tabel "Orang" dibuat:
- SQL Server / Oracle / MS Access:
CREATE TABLE Persons (
ID int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
- MySQL:
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
UNIQUE (ID)
);
Untuk memberi nama batasan UNIQUE, dan untuk menentukan batasan UNIQUE pada
banyak kolom, gunakan sintaks SQL berikut:
- MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT UC_Person UNIQUE (ID,LastName)
);
b.SQL UNIQUE Constraint on ALTER TABLE
Untuk membuat batasan UNIQUE pada kolom "ID" saat tabel sudah dibuat, gunakan
SQL berikut:
- MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD UNIQUE (ID);
Untuk memberi nama batasan UNIQUE, dan untuk mendefinisikan batasan UNIQUE
pada banyak kolom, gunakan sintaks SQL berikut:
- MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT UC_Person UNIQUE (ID,LastName);
c. DROP a UNIQUE Constraint
Untuk menjatuhkan batasan UNIK, gunakan SQL berikut:

- MySQL:
ALTER TABLE Persons
DROP INDEX UC_Person;
- SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT UC_Person;

3. SQL PRIMARY KEY Constraint

Batasan KUNCI UTAMA secara unik mengidentifikasi setiap catatan dalam sebuah tabel.
Kunci primer harus mengandung nilai UNIK, dan tidak bisa mengandung nilai NULL.Tabel
hanya dapat memiliki SATU kunci utama; dan dalam tabel, kunci utama ini dapat terdiri dari
kolom tunggal atau ganda (bidang).

a. SQL PRIMARY KEY pada CREATE TABLE


SQL berikut ini membuat KUNCI UTAMA pada kolom "ID" saat tabel "Orang"
dibuat:

- MySQL:

CREATE TABLE Persons (


ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (ID)
);

- SQL Server / Oracle / MS Access:

CREATE TABLE Persons (


ID int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
Untuk mengizinkan penamaan batasan PRIMARY KEY, dan untuk mendefinisikan
batasan PRIMARY KEY pada beberapa kolom, gunakan sintaks SQL berikut:

- MySQL / SQL Server / Oracle / MS Access:


CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT PK_Person PRIMARY KEY (ID,LastName)
);

Catatan: Dalam contoh di atas hanya ada SATU KUNCI UTAMA (PK_Person). Namun,
VALUE dari kunci utama terdiri dari DUA KOLOM (ID + Nama Belakang).

b. SQL PRIMARY KEY on ALTER TABLE


Untuk membuat batasan PRIMARY KEY pada kolom "ID" ketika tabel sudah dibuat,
gunakan SQL berikut:

- MySQL / SQL Server / Oracle / MS Access:


ALTER TABLE Persons
ADD PRIMARY KEY (ID);

Untuk mengizinkan penamaan batasan PRIMARY KEY, dan untuk mendefinisikan


batasan PRIMARY KEY pada beberapa kolom, gunakan sintaks SQL berikut:
- MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT PK_Person PRIMARY KEY (ID,LastName);

Catatan: Jika Anda menggunakan pernyataan ALTER TABLE untuk menambahkan kunci
utama, kolom kunci utama harus sudah dinyatakan tidak mengandung nilai NULL (saat tabel
pertama kali dibuat).

c. DROP a PRIMARY KEY Constraint


Untuk menjatuhkan batasan PRIMARY KEY, gunakan SQL berikut:
- MySQL:
ALTER TABLE Persons
DROP PRIMARY KEY;
- SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT PK_Person;

4. SQL FOREIGN KEY Constraint


KUNCI ASING adalah kunci yang digunakan untuk menghubungkan dua tabel
bersama. KUNCI LUAR NEGERI adalah bidang (atau kumpulan bidang) dalam satu tabel yang
mengacu pada KUNCI UTAMA dalam tabel lain. Tabel yang berisi kunci asing disebut tabel
anak, dan tabel yang berisi kunci kandidat disebut tabel referensi atau orang tua. Lihatlah dua
tabel berikut:
"Orang" tabel:
PersonID LastName FirstName Age
1 Hansen Ola 30
2 Svendson Tove 23
3 Pettersen Kari 20
Tabel "Pesanan":
OrderID OrderNumber PersonID
1 77895 3
2 44678 3
3 22456 2
4 24562 1

Perhatikan bahwa kolom "PersonID" di tabel "Pesanan" menunjuk ke kolom


"PersonID" di tabel "Orang". Kolom "PersonID" di tabel "Orang" adalah KUNCI UTAMA
dalam tabel "Orang". Kolom "PersonID" di tabel "Pesanan" adalah KUNCI ASING dalam tabel
"Pesanan". Batasan KUNCI ASING digunakan untuk mencegah tindakan yang akan
menghancurkan tautan antar tabel. Batasan KUNCI ASING juga mencegah data yang tidak valid
dimasukkan ke dalam kolom kunci asing, karena itu harus menjadi salah satu nilai yang
terkandung dalam tabel yang ditunjuknya.

1. SQL FOREIGN KEY on CREATE TABLE


SQL berikut ini membuat KUNCI ASING pada kolom "PersonID" ketika tabel
"Pesanan" dibuat:

- MySQL:
CREATE TABLE Orders (
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);
- SQL Server / Oracle / MS Access:
CREATE TABLE Orders (
OrderID int NOT NULL PRIMARY KEY,
OrderNumber int NOT NULL,
PersonID int FOREIGN KEY REFERENCES Persons(PersonID)
);
Untuk mengizinkan penamaan batasan FOREIGN KEY, dan untuk mendefinisikan
batasan FOREIGN KEY pada beberapa kolom, gunakan sintaks SQL berikut:
- MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Orders (
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID)
);

2. SQL FOREIGN KEY on ALTER TABLE


Untuk membuat batasan KUNCI ASING pada kolom "PersonID" ketika tabel
"Pesanan" sudah dibuat, gunakan SQL berikut:
- MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Orders
ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);

Untuk mengizinkan penamaan batasan FOREIGN KEY, dan untuk mendefinisikan


batasan FOREIGN KEY pada beberapa kolom, gunakan sintaks SQL berikut:

- MySQL / SQL Server / Oracle / MS Access:


ALTER TABLE Orders
ADD CONSTRAINT FK_PersonOrder
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);
3. DROP a FOREIGN KEY Constraint
Untuk menjatuhkan batasan KUNCI ASING, gunakan SQL berikut:
- MySQL:
ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;
- SQL Server / Oracle / MS Access:
ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;
SQL AUTO INCREMENT
Peningkatan otomatis memungkinkan angka unik dihasilkan secara otomatis ketika catatan baru
dimasukkan ke dalam tabel. Seringkali ini adalah bidang kunci utama yang ingin kita buat secara
otomatis setiap kali catatan baru dimasukkan.

Sintaks untuk MySQL


Pernyataan SQL berikut mendefinisikan kolom "Personid" menjadi bidang kunci utama kenaikan
otomatis dalam tabel "Orang":

CREATE TABLE Persons (


Personid int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (Personid)
);

MySQL menggunakan kata kunci AUTO_INCREMENT untuk melakukan fitur penambahan


otomatis. Secara default, nilai awal untuk AUTO_INCREMENT adalah 1, dan itu akan
bertambah 1 untuk setiap catatan baru.

Untuk membiarkan urutan AUTO_INCREMENT dimulai dengan nilai lain, gunakan pernyataan
SQL berikut:

ALTER TABLE Persons AUTO_INCREMENT=100;

Untuk memasukkan catatan baru ke tabel "Orang", kami TIDAK harus menentukan nilai untuk
kolom "Personid" (nilai unik akan ditambahkan secara otomatis):

INSERT INTO Persons(FirstName,LastName)


VALUES ('Lars','Monsen');

Pernyataan SQL di atas akan menyisipkan catatan baru ke tabel "Orang". Kolom "Personid" akan
diberi nilai unik. Kolom "Nama depan" akan ditetapkan ke "Lars" dan kolom "Nama belakang"
akan ditetapkan ke "Monsen".
Sintaks untuk SQL Server
Pernyataan SQL berikut mendefinisikan kolom "Personid" menjadi bidang kunci utama kenaikan
otomatis dalam tabel "Orang":

CREATE TABLE Persons(


Personidint IDENTITY(1,1) PRIMARY KEY,
Last Name varchar (255) NOT NULL,
First Name varchar(255),
Age int
);

MS SQL Server menggunakan kata kunci IDENTITY untuk melakukan fitur penambahan
otomatis. Dalam contoh di atas, nilai awal untuk IDENTITY adalah 1, dan itu akan bertambah 1
untuk setiap catatan baru.

Tip: Untuk menentukan bahwa kolom "Personid" harus dimulai dari nilai 10 dan bertambah 5,
ubah ke IDENTITY (10,5).

Untuk memasukkan catatan baru ke tabel "Orang", kami TIDAK harus menentukan nilai untuk
kolom "Personid" (nilai unik akan ditambahkan secara otomatis):

INSERT INTO Persons (First Name,Last Name)


VALUES ('Lars','Monsen');

Pernyataan SQL di atas akan menyisipkan catatan baru ke tabel "Orang". Kolom "Personid" akan
diberi nilai unik. Kolom "Nama depan" akan ditetapkan ke "Lars" dan kolom "Nama belakang"
akan ditetapkan ke "Monsen".

Sintaks untuk Akses


Pernyataan SQL berikut mendefinisikan kolom "Personid" menjadi bidang kunci utama kenaikan
otomatis dalam tabel "Orang":

CREATE TABLE Persons (


Personid AUTOINCREMENT PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
MS Access menggunakan kata kunci AUTOINCREMENT untuk melakukan fitur penambahan
otomatis. Secara default, nilai awal untuk AUTOINCREMENT adalah 1, dan itu akan bertambah
1 untuk setiap catatan baru.

Tip: Untuk menetapkan bahwa kolom "Personid" harus dimulai dari nilai 10 dan bertambah 5,
ubah kenaikan otomatis ke AUTOINCREMENT (10,5).

Untuk memasukkan catatan baru ke tabel "Orang", kami TIDAK harus menentukan nilai untuk
kolom "Personid" (nilai unik akan ditambahkan secara otomatis):

INSERT INTO Persons (First Name,Last Name)


VALUES ('Lars','Monsen');
Pernyataan SQL di atas akan menyisipkan catatan baru ke tabel "Orang". Kolom "Personid" akan
diberi nilai unik. Kolom "Nama depan" akan ditetapkan ke "Lars" dan kolom "Nama belakang"
akan ditetapkan ke "Monsen".

Sintaks untuk Oracle


Di Oracle kodenya sedikit lebih rumit. Anda harus membuat bidang kenaikan-otomatis dengan
objek urutan (objek ini menghasilkan urutan nomor).

Gunakan sintaks CREATE SEQUENCE berikut:

CREATE SEQUENCE seq_person


MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10;
Kode di atas membuat objek urutan bernama seq_person, yang dimulai dengan 1 dan akan
bertambah 1. Ini juga akan men-cache hingga 10 nilai untuk kinerja. Opsi cache menentukan
berapa banyak nilai urutan yang akan disimpan dalam memori untuk akses yang lebih cepat.

Untuk menyisipkan catatan baru ke tabel "Orang", kita harus menggunakan fungsi nextval
(fungsi ini mengambil nilai berikutnya dari urutan seq_person):

INSERT INTO Persons (Personid,First Name,Last Name)


VALUES (seq_person.nextval,'Lars','Monsen');
Pernyataan SQL di atas akan menyisipkan catatan baru ke tabel "Orang". Kolom "Personid" akan
diberi nomor berikutnya dari urutan seq_person. Kolom "Nama depan" akan ditetapkan ke
"Lars" dan kolom "Nama belakang" akan ditetapkan ke "Monsen".
SQL Dates

Bagian tersulit ketika bekerja dengan tanggal adalah memastikan bahwa format tanggal yang
Anda coba masukkan, cocok dengan format kolom tanggal dalam database.

Selama data Anda hanya berisi bagian tanggal, kueri Anda akan berfungsi seperti yang
diharapkan. Namun, jika porsi waktu terlibat, itu menjadi lebih rumit.

SQL Date Data Types

MySQL dilengkapi dengan tipe data berikut untuk menyimpan tanggal atau nilai tanggal / waktu
dalam database:

 DATE - format YYYY-MM-DD


 DATE TIME - format: YYYY-MM-DD HH:MI:SS
 TIME STAMP - format: YYYY-MM-DD HH:MI:SS
 YEAR - format YYYY or YY

SQL Server dilengkapi dengan tipe data berikut untuk menyimpan tanggal atau nilai tanggal /
waktu dalam database:

 DATE - format YYYY-MM-DD


 DATE TIME - format: YYYY-MM-DD HH:MI:SS
 SMALL DATE TIME - format: YYYY-MM-DD HH:MI:SS
 TIMES TAMP - format: a unique number

Catatan: Jenis tanggal dipilih untuk kolom saat Anda membuat tabel baru di basis data Anda!

SQL Working with Dates

Anda dapat membandingkan dua tanggal dengan mudah jika tidak ada komponen waktu yang
terlibat!

Asumsikan kita memiliki tabel "Pesanan" berikut:

OrderId ProductName OrderDate


1 Geitost 2008-11-11

2 Camembert Pierrot 2008-11-09

3 Mozzarella di Giovanni 2008-11-11

4 Mascarpone Fabioli 2008-10-29

Sekarang kami ingin memilih catatan dengan Tanggal Pesanan "2008-11-11" dari tabel di atas.

Kami menggunakan pernyataan SELECT berikut:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

Rangkaian hasil akan terlihat seperti ini:

OrderId ProductName OrderDate

1 Geitost 2008-11-11

3 Mozzarella di Giovanni 2008-11-11

Sekarang, asumsikan bahwa tabel "Pesanan" terlihat seperti ini (perhatikan komponen waktu di
kolom "Tanggal"):

OrderId ProductName OrderDate

1 Geitost 2008-11-11 13:23:44

2 Camembert Pierrot 2008-11-09 15:45:21


3 Mozzarella di Giovanni 2008-11-11 11:12:01

4 Mascarpone Fabioli 2008-10-29 14:56:59

Jika kita menggunakan pernyataan SELECT yang sama seperti di atas:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

kami tidak akan mendapatkan hasil! Ini karena kueri hanya mencari tanggal tanpa porsi waktu.

Kiat: Agar kueri Anda sederhana dan mudah dipelihara, jangan biarkan komponen waktu ada
dalam tanggal Anda!

SQL Hosting

Jika Anda ingin situs web Anda dapat menyimpan dan mengambil data dari database, server web
Anda harus memiliki akses ke sistem database yang menggunakan bahasa SQL.
Jika server web Anda di-host oleh Penyedia Layanan Internet (ISP), Anda harus mencari paket
hosting SQL.
Database hosting SQL yang paling umum adalah MS SQL Server, Oracle, MySQL, dan MS
Access.
MS SQL Server
Microsoft's SQL Server adalah perangkat lunak basis data yang populer untuk situs web yang
digerakkan oleh basis data dengan lalu lintas tinggi.
SQL Server adalah sistem basis data SQL yang sangat kuat, kuat, dan berfitur lengkap.
Oracle
Oracle juga merupakan perangkat lunak basis data yang populer untuk situs web yang
digerakkan oleh basis data dengan lalu lintas tinggi.
Oracle adalah sistem basis data SQL yang sangat kuat, kuat dan berfitur lengkap.
MySQL
MySQL juga merupakan perangkat lunak basis data yang populer untuk situs web.
MySQL adalah sistem basis data SQL yang sangat kuat, kuat, dan berfitur lengkap.
MySQL adalah alternatif murah untuk solusi Microsoft dan Oracle yang mahal.
Access
Ketika situs web hanya membutuhkan database sederhana, Microsoft Access dapat menjadi
solusi.
Akses tidak cocok untuk lalu lintas sangat tinggi, dan tidak sekuat MySQL, SQL Server, atau
Oracle.

SQL Keywords Reference

Referensi kata kunci SQL ini berisi kata-kata yang disediakan dalam SQL.
SQL Keywords
kata kunci Deskripsi
ADD Menambahkan kolom di tabel yang ada
ADD CONSTRAINT Menambahkan kendala setelah tabel sudah dibuat
ALTER Menambahkan, menghapus, atau memodifikasi kolom dalam
tabel, atau mengubah tipe data kolom dalam tabel
ALTER COLUMN Mengubah tipe data kolom dalam tabel
ALTER TABLE Menambahkan, menghapus, atau memodifikasi kolom dalam
sebuah tabel
ALL Mengembalikan nilai benar jika semua nilai subquery
memenuhi kondisi
AND Hanya sertakan baris di mana kedua kondisi ini benar
ANY Mengembalikan nilai benar jika salah satu nilai subquery
memenuhi kondisi
AS Mengganti nama kolom atau tabel dengan alias
ASC Mengurutkan hasil yang ditetapkan dalam urutan menaik
BACKUP DATABAE Membuat cadangan dari database yang ada
BETWEEN Memilih nilai dalam kisaran yang diberikan
CASE Menciptakan berbagai keluaran berdasarkan kondisi
CHECK Kendala yang membatasi nilai yang dapat ditempatkan di
kolom
COLUMN Mengubah tipe data kolom atau menghapus kolom dalam tabel
CONSTRAINT Menambahkan atau menghapus batasan
CREATE Membuat basis data, indeks, tampilan, tabel, atau prosedur
CREATE DATABASE Membuat database SQL baru
CREATE INDEX Membuat indeks di atas meja (memungkinkan nilai duplikat)
CREATE OR Pembaruan tampilan
REPLACE VIEW
CREATE TABLE Membuat tabel baru dalam database
CREATE Membuat prosedur tersimpan
PROCEDURE
CREATE UNIQUE Membuat indeks unik di atas meja (tidak ada nilai duplikat)
INDEX
CREATE VIEW Membuat tampilan berdasarkan set hasil dari pernyataan
SELECT
DATABASE Membuat atau menghapus database SQL
DEFAULT Suatu kendala yang memberikan nilai default untuk sebuah
kolom
DELETE Menghapus baris dari sebuah tabel
DESC Mengurutkan hasil yang ditetapkan dalam urutan menurun
DISTINCT Memilih hanya nilai yang berbeda (berbeda)
DROP Menghapus kolom, batasan, basis data, indeks, tabel, atau
tampilan
DROP COLUMN Menghapus kolom dalam tabel
DROP CONSTRAINT Menghapus UNIK, KUNCI UTAMA, KUNCI ASING, atau
PERIKSA kendala
DROP DATABASE Menghapus database SQL yang ada
DROP DEFAULT Menghapus batasan DEFAULT
DROP INDEX Menghapus indeks dalam sebuah tabel
DROP TABLE Menghapus tabel yang ada di database
DROP VIEW Menghapus tampilan
EXEC Menjalankan prosedur yang tersimpan
EXISTS Menguji keberadaan catatan dalam subquery
FOREIGN KEY Suatu kendala yang merupakan kunci yang digunakan untuk
menghubungkan dua tabel bersama
FROM Menentukan tabel mana untuk memilih atau menghapus data
FULL OUTER JOIN Mengembalikan semua baris ketika ada kecocokan di tabel kiri
atau kanan
GROUP BY Mengelompokkan set hasil (digunakan dengan fungsi agregat:
COUNT, MAX, MIN, SUM, AVG)
HAVING Digunakan sebagai ganti WHERE dengan fungsi agregat
IN Memungkinkan Anda untuk menentukan beberapa nilai dalam
klausa WHERE
INDEX Membuat atau menghapus indeks dalam sebuah tabel
INNER JOIN Mengembalikan baris yang memiliki nilai yang cocok di kedua
tabel
INSERT INTO Sisipkan baris baru dalam sebuah tabel
INSERT INTO Menyalin data dari satu tabel ke tabel lain
SELECT
IS NULL Tes untuk nilai kosong
IS NOT NULL Tes untuk nilai-nilai yang tidak kosong
JOIN Bergabung dengan tabel
LEFT JOIN Mengembalikan semua baris dari tabel kiri, dan baris yang
cocok dari tabel kanan
LIKE Mencari pola tertentu dalam kolom
LIMIT Menentukan jumlah catatan untuk dikembalikan dalam set hasil
NOT Hanya mencakup baris di mana suatu kondisi tidak benar
NOT NULL Batasan yang memberlakukan kolom untuk tidak menerima
nilai NULL
OR Termasuk baris di mana kedua kondisi itu benar
ORDER BY Mengurutkan hasil yang ditetapkan dalam urutan naik atau
turun
OUTER JOIN Mengembalikan semua baris ketika ada kecocokan di tabel kiri
atau kanan
PRIMARY KEY Suatu kendala yang secara unik mengidentifikasi setiap catatan
dalam tabel database
PROSEDUR Prosedur tersimpan
RIGHT JOIN Mengembalikan semua baris dari tabel kanan, dan baris yang
cocok dari tabel kiri
ROWNUM Menentukan jumlah catatan untuk kembali dalam set hasil
SELECT Memilih data dari database
SELECT DISTINCT Memilih hanya nilai yang berbeda (berbeda)
SELECT INTO Menyalin data dari satu tabel ke tabel baru
SELECT TOP Menentukan jumlah catatan untuk kembali dalam set hasil
SET Menentukan kolom dan nilai mana yang harus diperbarui dalam
tabel
TABEL Membuat tabel, atau menambah, menghapus, atau
memodifikasi kolom dalam tabel, atau menghapus tabel atau
data di dalam tabel
TOP Menentukan jumlah catatan untuk dikembalikan dalam set hasil

TRUNCATE TABLE Menghapus data di dalam tabel, tetapi bukan tabel itu sendiri
UNION Menggabungkan kumpulan hasil dari dua atau lebih pernyataan
SELECT (hanya nilai yang berbeda)
UNION ALL Menggabungkan set hasil dari dua atau lebih pernyataan
SELECT (memungkinkan nilai duplikat)
UNIQUE Suatu kendala yang memastikan bahwa semua nilai dalam
kolom adalah unik
UPDATE Memperbarui baris yang ada dalam sebuah tabel

VALUES Menentukan nilai-nilai pernyataan INSERT INTO


VIEW Membuat, memperbarui, atau menghapus tampilan
WHERE Memfilter hasil yang disetel untuk hanya menyertakan catatan
yang memenuhi persyaratan yang ditentukan
SQL Examples
1. SQL Examples

 SQL Syntax
Select all the records from a specific table (“Customers”)

 SQL SELECT

SELECT Column
SELECT *

 SQL SELECT DISTINCT

SELECT DISTINCT
SELECT COUNT (DISTINCT column_name)
SELECT COUNT (DISTINCT column_name)

 SQL WHERE

WHERE Clause
Text Fields vs. Numeric Fields

 SQL AND, OR, and NOT Operators

AND
OR
NOT
Combining AND, OR, and NOT

 SQL ORDER BY

ORDER BY
ORDER BY DESC
ORDER BY Several Columns

 SQL INSERT INTO

INSERT INTO
Insert data in specific columns

 SQL NULL Values


IS NULL Operator
IS NOT NULL Operator

 SQL Update

UPDATE Table
UPDATE Multiple Records
UPDATE Warning (if you omit the WHERE clause, all records will be updated)

 SQL DELETE

DELETE
DELETE All Records

 SQL SELECT TOP

SELECT TOP
LIMIT
SELECT TOP PERCENT
SELECT TOP and add a WHERE Clause

 SQL MIN() and MAX ()

MIN()
MAX()

 SQL COUNT,AVG () and SUM()

COUNT()
AVG()
SUM()

 SQL LIKE

LIKE-select all table rows starting with “a”


LIKE-select all table rows ending with “a”
LIKE-select all table rows that have “or” in any position
LIKE-select all table rows that have “r” in the second position
LIKE-select all table rows that starts with “a” and ends with “o”
LIKE-select all table rows that does NOT start with “a”

 SQL Wildcards

Using the % Wildcard


Using the_Wildcard
Using the [charlist] Wildcard
Using the [!charlist] Wildcard

 SQL IN

IN
NOT IN

 SQL BETWEEN

BETWEEN
NOT BETWEEN
BETWEEN with IN
BETWEEN Text Values
NOT BETWEEN Text Values

 SQL Aliases

Alias for Columns


Two Aliases
Alias for Table

 SQL Joins

INNER JOINS
LEFT JOINS
RIGHT JOINS
Self JOINS

 SQL UNION

UNION
UNION ALL
UNION With WHERE
UNION ALL With WHERE

 SQL GROUP BY

GROUP BY
GROUP BY and ORDER BY
GROUP BY With JOIN

 SQL HAVING
HAVING and GROUP BY
HAVING and ORDER BY

 SQL EXISTS

EXISTS

 SQL ANY and ALL

ANY
ALL

 SQL INSERT INTO SELECT

INSERT INTO SELECT


INSERT INTO SELECT with WHERE

 SQL CASE

CASE 1
CASE 2

 SQL Comments

Single Line Comments


Single Line Comments At The End Of a Line
Multi-line Comments

 SQL Database

Tutorial SQL Database dapat ditemukan di sini:

SQL Create DB
SQL Drop DB
SQL Backup DB
SQLCreated Table
SQL Drop Table
SQL Alter Table
SQL Constraints
SQL Not Null
SQL Unique
SQL Primary Key
SQL Foreign Key
SQL Check
SQL Default
SQL Index
SQL Auto Increment
SQL Dates
SQL Views
SQL Injection
SQL Hosting

2. SQL QUIZ

Anda dapat menguji kemampuan SQL Anda dengan Kuis W3Schools.

 Ujian
Tes ini berisi 25 pertanyaan dan tidak ada batasan waktu.

Tes ini tidak resmi, itu hanya cara yang bagus untuk melihat seberapa banyak
Anda tahu, atau tidak tahu, tentang SQL.

 Hitung Skor Anda

Anda akan mendapatkan 1 poin untuk setiap jawaban yang benar. Di akhir Kuis,
skor total Anda akan ditampilkan. Skor maksimum adalah 25 poin.

3. SQL EXERCISES

Anda dapat menguji kemampuan SQL Anda dengan Latihan W3Schools.

 Latihan
Kami telah mengumpulkan berbagai latihan SQL (dengan jawaban) untuk setiap Bab
SQL.

Cobalah untuk menyelesaikan latihan dengan mengisi bagian kode yang hilang.
Jika macet, tekan tombol "Tampilkan Jawaban" untuk melihat kesalahan Anda.

 Hitung Skor Anda

Anda akan mendapatkan 1 poin untuk setiap jawaban yang benar. Skor Anda dan
skor total akan selalu ditampilkan.

4. SQL Certificate

W3Schools menawarkan Program Sertifikasi Online.


Solusi sempurna bagi para profesional yang sibuk yang perlu menyeimbangkan pekerjaan,
keluarga, dan pengembangan karier.

Lebih dari 25.000 sertifikat telah diterbitkan !

 Dokumentasikan Keterampilan Anda

Pengetahuan adalah kekuatan, terutama di pasar kerja saat ini. Dokumentasi


keterampilan Anda memungkinkan Anda untuk memajukan karir Anda, atau membantu
Anda memulai yang baru.

 Dapatkan Sertifikat

Mendapatkan sertifikat membuktikan komitmen Anda untuk meningkatkan


keterampilan Anda, memberi Anda kredibilitas yang dibutuhkan untuk lebih banyak
tanggung jawab, proyek yang lebih besar, dan gaji yang lebih tinggi.

 Bagaimana cara kerjanya?

 Belajar gratis di W3Schools.com


 Belajar dengan kecepatan Anda sendiri
 Uji keterampilan Anda dengan kuis online W3Schools
 Terapkan untuk sertifikat Anda dengan membayar biaya ujian
 Ikuti ujian Anda online, kapan saja, dan dari lokasi mana pun

Anda mungkin juga menyukai