Laporan Pemrograman Basis Data
"QUERY SQL"
Disusun oleh:
Meyla Yan Sari
IK-3B
3.34.13.1.10
PROGAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI SEMARANG
2015
Tujuan Instruksional Khusus
Setelah melakukan praktek ini, mahasiswa diharapkan mampu :
Mengetahui prosedur input query
Memahami input query ke Ms Sql server
Mengetahui berbagai jenis model query.
Dasar Teori
Query
Merupakan sebuah teknik untuk mendapatkan data dari database. Di dalam program Ma SQL Server Management, untuk menuliskan dan mengeksekudi sebuah query, yang di butuhkan adalah query command window.
CTE
CTE merupakan kependekan dari common table expression, yang merupakan tabel sementara yang tercipta dari query select. Penggunaan CTE dapat dilakukan untuk proses, select, insert, update dan delete. CTE bersifat volatil dimana ketika server dimatikan CTE akan hilang.
GROUP BY
Klausa Grup adalah perintah yang di gunakan untuk melakuka proses pengelompokan data hasil query.
PIVOT
Operaor pivot merupakan perintah yang digunakan untuk membuat sebuah tabel crosstab pada sebuah proses seleksi database.
ROW_NUMBER()
Merupakan sebuah fungsi untuk memberikan penomoran sebuah baris pada tabel.
PARTITION BY
Merupakn fungsi untuk membagi hasil query menjadi beberapa bagian. Sehingga proses menampilkan data menjadi lebih rapi.
PENCOCOKAN POLA
Merupakan salah satu teknik untuk menentukan apakah karakter yang di filter sesuai dengan pola yang dibuat atau tidak. Sebuah pola dapat digunakan menggunakan kombinasi dari karakter biasa dan karakter khusus. Ketika proses pencocokan, karakter harus sesuai dengan karakter di teks. Pencocokan karakter ini bersifat case sensitive. Beberapa karakter khusus untuk metode pencocokan diantaranya adalah %, _, [ ], [^].
AGREGAT
Fungsi ini digunakan pada query mencakup proses pencarian, nilai minimal, maksimal, jumlah, rata-rata dan hitung diwakili dengan MIN, MAX, SUM, AVG, COUNT.
DATETIME
Merupakan fungsi standar dari sql server untuk mendapatkan tanggal dan waktu. Dalam fungsi ini kita dapat mendapatkan nilai tahun, bulan, hari, jam, menit, dan detik.
JOIN
Merupakan operator relasi yang dapat digunakan untuk mebuat sebuah tabel hasil query dengan menggabungkan beberapa tabel yang sudah ada. Terdapat berbagai jenis tipe join diantaranya adalah inner join, outer join, left join, right join, dll.
Alat dan Bahan
PC Processor minimal Pentium IV, RAM minimal 512 MB
Ms Sql Server
Langkah Kerja/Percobaan
Langkah pertama adalah membuka / menjalankan MS Sql Server management studio
lalu koneksikanMS Sql Server management studio dengan database server
Setelah itu klik new query dan masukkan kode dibawah ini simpan dengan nama SQLQuery1.sql dan ambil gambar
select * from Sales.SalesReason
klik new query dan masukkan kode dibawah ini simpan dengan nama SQLQuery2.sql dan ambil gambar
with TopSale (SalesPersonID, TerritoryID, NumberOfSale) as (
select SalesPersonID, TerritoryID, count(*)
from Sales.SalesOrderHeader
group by SalesPersonID, TerritoryID
)
select * from TopSale
where SalesPersonID is not null
order by NumberOfSale desc
klik new query dan masukkan kode dibawah ini simpan dengan nama SQLQuery3.sql dan ambil gambar
select CardType, ExpYear, count(CardType) as 'Total Cards'
from Sales.CreditCard
where ExpYear in (2008,2009)
group by ExpYear, CardType
order by CardType, ExpYear
klik new query dan masukkan kode dibawah ini simpan dengan nama SQLQuery4.sql dan ambil gambar
select CardType, [2008] as Year2008, [2009] as Year2009
from
(
select CardType, ExpYear
from Sales.CreditCard
)
piv pivot
(
count(ExpYear) for ExpYear in([2008],[2009])
)
as carddetail
order by CardType
klik new query dan masukkan kode dibawah ini simpan dengan nama SQLQuery5.sql dan ambil gambar
select SalesPersonID, Bonus, ROW_NUMBER()
over (order by SalesPersonID)
as [RowCount]
from Sales.SalesPerson
klik new query dan masukkan kode dibawah ini simpan dengan nama SQLQuery6.sql dan ambil gambar
select CustomerID, TerritoryID, Row_Number()
over (Partition by TerritoryID
order by CustomerID) as [RowCount]
from Sales.Customer
Where TerritoryID in (1,2) AND CustomerID Between 1 and 75
klik new query dan masukkan kode dibawah ini simpan dengan nama SQLQuery7.sql dan ambil gambar
select Title + ' ' + FirstName + ' ' + LastName
as "Person Name"
from Person.Contact
where FirstName like 'A%' and Title is not null
klik new query dan masukkan kode dibawah ini simpan dengan nama SQLQuery8.sql dan ambil gambar
select Title + ' ' + FirstName + ' ' + LastName
as "Person Name"
from Person.Contact
where FirstName like 'B____a' and Title is not null
klik new query dan masukkan kode dibawah ini simpan dengan nama SQLQuery9.sql dan ambil gambar
select Title + ' ' + FirstName + ' ' + LastName
as "Person Name"
from Person.Contact
where FirstName like '[A-I]__' and Title is not null
klik new query dan masukkan kode dibawah ini simpan dengan nama SQLQuery10.sql dan ambil gambar
select Title + ' ' + FirstName + ' ' + LastName
as "Person Name"
from Person.Contact
where FirstName like '_[^I][a]__' and Title is not null
klik new query dan masukkan kode dibawah ini simpan dengan nama SQLQuery11.sql dan ambil gambar
select SalesOrderID, min(UnitPrice) as 'Min',
max(UnitPrice) as 'Max', sum(UnitPrice) as 'Sum',
avg(UnitPrice) as 'Avg'
from Sales.SalesOrderDetail
where SalesOrderID between 43659 and 43663
group by SalesOrderID
klik new query dan masukkan kode dibawah ini simpan dengan nama SQLQuery12.sql dan ambil gambar
select count(*) as 'Total Record' from Person.Contact
select count(*) as 'Not Null Titles' from Person.Contact
klik new query dan masukkan kode dibawah ini simpan dengan nama SQLQuery13.sql dan ambil gambar
select current_timestamp 'Standard Datetime',
getdate() 'Transact-SQL Datetime',
datepart(year, getdate()) 'Datepart Year',
year(getdate()) 'Year Function',
datepart(hour, getdate()) 'hour'
klik new query dan masukkan kode dibawah ini simpan dengan nama SQLQuery14.sql dan ambil gambar
select Orders.OrderID, Orders.CustomerID, Employees.LastName
from Orders inner join Employees
on Orders.EmployeeID=Employees.EmployeeID
klik new query dan masukkan kode dibawah ini simpan dengan nama SQLQuery15.sql dan ambil gambar
select o.OrderID, o.CustomerID, e.LastName
from Orders o inner join Employees e
on o.EmployeeID=e.EmployeeID
klik new query dan masukkan kode dibawah ini simpan dengan nama SQLQuery16.sql dan ambil gambar
select o.orderid 'OrderID', c.companyname 'CustomerName', e.lastname 'Employee'
from Orders o inner join Employees e
on o.EmployeeID=e.EmployeeID
inner join Customers c
on o.CustomerID=c.CustomerID
klik new query dan masukkan kode dibawah ini simpan dengan nama SQLQuery17.sql dan ambil gambar
insert into employees
(
FirstName,LastName
)
values ('amy','abrams')
klik new query dan masukkan kode dibawah ini simpan dengan nama SQLQuery18.sql dan ambil gambar
select e.FirstName, e.LastName, o.OrderID
from Employees e left outer join Orders o
on e.EmployeeID=o.EmployeeID
order by 2, 1
Lembar Kerja
No
Praktik
Hasil Program
1
SQLQuery1.sql
Merupakan query select yang bertujuan untuk menampilkan semua data (*) dari tabel yang di sele
2
SQLQuery2.sql
Query untuk mencari penjualan tertinggi dari seorang sales
3
SQLQuery3.sql
Query untuk mendapatkan jumlah kartu yang akan habis masa berlaku berdasar tahun, dan dikelompokkan berdasar jenis kartu
4
SQLQuery4.sql
Query untuk mendapatkan Exp date, menggunakan batuan fungsi pivot.
5
SQLQuery5.sql
Query untuk memberikan nilai baris pada hasil query menggunakan ROW_NUMBER()
6
SQLQuery6.sql
Query untuk menentukan pelanggan berdasarkan wilayah, disertai nomor baris.
7
SQLQuery7.sql
Query untuk mendapatkan nama yang di awali dengan huruf A saja.
8
SQLQuery8.sql
Query yang digunakan untuk mendapatkan nama yang diawali huruf B dan diakhiri huruf a dengan panjang 6 karakter.
9
SQLQuery9.sql
Query yang digunakan untuk mendapatkan nama dengan awalan A hingga I dengan panjang 3 karakter.
10
SQLQuery10.sql
Query yang digunakan untuk mendapatkan nama sepanjang 5 karakter dimana huruf ke dua tidak boleh huruf I dan huruf ketiga harus a.
11
SQLQuery11.sql
Query untuk mendapatkan nilai min, max, sum dan avg dari tabel penjualan.
12
SQLQuery12.sql
13
SQLQuery13.sql
14
SQLQuery14.sql
15
SQLQuery15.sql
Query yang digunakan untuk mendapatkan tabel dari penggabungan tabel order dan employees
16
SQLQuery16.sql
Query yang digunakan untuk membuat tabel dengan bantuan join pada 3 tabel.
17
SQLQuery17.sql
Query input data pada tabel employees
18
SQLQuery18.sql
Proses untuk mendapatkan tabel hasil dari outer join.
Kesimpulan
Pada praktikum ini dipelajari tentang berbagai jenis sintaks dan fungsi query select yang dikenal oleh Ms SQL Server. Berbagai fungsi tersebut mulai dari:
Pembuatan tabel CTE : tabel sementara yang bersifat sementara
Fungsi GROUP BY : fungsi pengelompokan hasil query
Fungsi PIVOT : fungsi pembuatan tabel crosstab
Fungsi ROW_NUMBER() : fungsi untuk memberi penomoran baris
Fungsi PARTITION BY : fungsi untuk membagi hasil select
Proses pencocokan pola : proses pencocokan dan pencarian karakter
Fungsi Agregasi : fungsi matematis agregasi pada sql
Fungsi DATETIME : fungsi untuk mendapatkan tanggal dan waktu
Join : berfungsi untuk menggabungkan 2 tabel atau lebih
Berbagai fungsi diatas digunakan untuk melakukan pengelolaan dan pengekstrakkan data dari database.