SQL(SELECT QUERY LANGUAGE)

Slides:



Advertisements
Presentasi serupa

Advertisements

Yuswanto Modifikasi Data.
SQL.
Sejarah (1) • Tahun 1974, Dr. Chamberlin dari Saan Jose Laboratorium IBM mendefinisikan sebuah bahasa untuk mengakses database yang disebut dengan SEQUEL.
SQL (Structured Query Language)
SQL (Struktured Query Language)
PERINTAH SQL.
Dasar-dasar SQL soesanto.
Praktikum Database Query Tingkat Lanjut Abdul Kadir.
SQL Basis Data.
Latihan SQL.
SQL.
Data Manipulation Language (Aggregate Function)
Internet Programming MySQL
Pemrogramn Berorientasi Obyek MySQL
Jalankan script sql berikut : sekolah.sql
Microsoft SQL Server DDL dan DML dasar
Fungsi Agregat fungsi yang mengambil suatu kumpulan nilai-nilai sebagai input dan mengembalikan satu nilai sebagai output Select fungsi agregat SUM/AVG/MIN/MAX/COUNT.
Data Definition Language dan Data Manipulation Language
MANAJEMEN BASIS DATA Pertemuan 6 SQL - SELECT.
P E R T E M U A N 12 SISTEM BASIS DATA.
Data Types Data Definition Language Referential Constraint SQL Query
SQL: DML (2) Basis Data Pertemuan 07.
BAHASA QUERY TERAPAN OLEH : HARSITI, ST.
Dr. KUSRINI, M.KOM 66. Select * From nama_tabel [Where Kondisi] [Order by Kolom_x] Atau Select Kolom_1,Kolom_2,..Kolom_n From nama_tabel [Where Kondisi]
MANAJEMEN BASIS DATA Pertemuan 8 SUBQUERY.
STRUCTURED QUERY LANGUAGE (SQL)
Data Manipulation Language
Data Manipulation Language Presented by : Herianto.
PTIK-13 PERANCANGAN DATABASE (2) MENGOLAH DATA MENJADI INFORMASI Dosen: Arya Yudhi W.,S.Kom.,M.Kom.
Pengenalan Database MySQL
Modul SBD-2 …….. SQL Server

Pertemuan ke-sekian Structure Query Language (SQL) Lanjut
PEMASARAN BERBASIS WEB
SQL (Structured Query Language)
Query.
Structure Query Language (SQL)
SQL.
SQL (Structure Query Language)
Query.
Manajemen Basis Data menggunakan SQL Server
SQL DML Pertemuan 6 dan 7.
Structured Query Language
Connect to the Server - Putty
Konsep Teknologi Informasi B
DATA MANIPULATION LANGUAGE (DML)
PEMASARAN BERBASIS WEB
SQL pada basis data client-server
Stucture Query Language
Connect to the Server - Putty
Stucture Query Language
SQL OVERVIEW.
Structured Query Language (SQL)
SQL Data Manipulation IK203 Sistem Basis Data Pertemuan #12
Perintah Manipulasi Data
MODUL 4 MENAMPILKAN DATA DARI SATU TABEL
Structure Query Language (II)
SQL (Structured Query Language) Oleh : Cosmas Haryawan.
MODUL 4 MENAMPILKAN DATA DARI SATU TABEL
Aplikasi Database Dosen : Sarwo, Skom,.Mkom Url :
Stucture Query Language
Basis Data Bab 3 Structured Query Language (SQL).
Stucture Query Language
Membuat Query ACCESS Query adalah fasilitas untuk mengakses data dengan cara  yang memungkin bagi kita untuk menampilkan data-data dari database dalam.
Praktikum Sistem Basis Data - 2
Praktikum 2 - Sistem Basis Data 1
DATA MANIPULATION LANGUAGE
BAHASA BASIS DATA Data Manipulation Languange
Pengantar Teknologi SIM 2 (pertemuan 7)
Transcript presentasi:

SQL(SELECT QUERY LANGUAGE) Andri Suryadi, M.Kom

Buat tabel sederhana dengan access / yang lainnya Contoh tabel mahasiswa Field KODE_POS, walaupun berisi angka, tetapi menggunakan tipe data teks. Ini karena kita tidak akan menggunakan kode pos dalam perhitungan matematis (apakah Anda akan diminta menghitung rata-rata kode pos?). Kita harus menggunakan tipe data Number untuk field JUMLAH_SAUDARA dan NEM_SMA karena kita dapat melakukan perhitungan matematis menggunakan field ini, misalnya untuk menghitung rata-rata jumlah saudara seluruh mahassiwa. NEM_SMA adalah bilangan real (pecahan) dan JUMLAH_SAUDARA adalah bilangan bulat, tetapi sama-sama direpresentasikan dengan tipe data Number. Nama Field Jenis Data NIM Text NAMA ALAMAT KODE_POS TGL_LAHIR Date PENGHASILAN_ORTU Currency JUMLAH_SAUDARA Number NEM_SMA

Buat database

Tabel terbentuk

SQL SQL sesuai dengan namanya adalah sebuah bahasa. Bahasa ini telah menjadi standard semua RDBMS sebagai alat komunikasi dengan database. Bahasa ini mendefinisikan cara untuk mengambil, menyisipkan, mengupdate dan menghapus data pada sebuah database (fungsi sebagai DML=Data Manipulation Languange). Selain itu SQL juga mendefinisikan cara membuat tabel, merubah definisi kolom, membuat indeks, menghapus tabel (fungsi sebagai DDL = Data Definition Languange)   American National Standard Institute (ANSI) telah mengeluarkan standard untuk SQL agar menjadi bahasa universal untuk RDMBS. Sayangnya, banyak implementasi RDBMS yang tidak sesuai dengan standard. Sumber : Yudi Wibisono (UPI)

SQL SQL untuk Mengambil Data SQL untuk Mengupdate Data SQL untuk Menghapus Data SQL untuk Menambah Data SQL untuk Fungsi Agregasi Fungsi-Fungsi Standard SQL di Access Fungsi Matematika Fungsi String Lebih Jauh dengan SQL Parameter Query Select Distinct Order By Between IN dan NOT IN Sub Query Group By dan Having Karakter “&” untuk pengabungan string

SELECT [Fields yang diiginkan] FROM [nama tabel] WHERE [Kondisi] SQL Mengambil Data Query jenis ini adalah query yang paling sering digunakan. Jika kita menggunakan tabel PRIBADI_MAHASISWA pada contoh sebelumnya. Query ini dapat digunakan untuk menjawab pertanyaan: SELECT [Fields yang diiginkan] FROM [nama tabel] WHERE [Kondisi]

SQL Mengambil Data Pertanyaan : Tampilkan semua data SELECT * FROM PRIBADI_MAHASISWA Tampilkan nim dan nama mahasiswa saja. SELECT NIM,NAMA FROM PRIBADI_MAHASISWA Tampilkan nim mahasiswa yang NEM_SMA –nya lebih dari 5.0 SELECT NIM FROM PRIBADI_MAHASISWA WHERE NEM_SMA>5.0 Tampilkan nama mahasiswa yang mengandung huruf “UDI” (bisa UDIN, BUDI, RUDI, YUDI) SELECT NAMA FROM PRIBADI_MAHASISWA WHERE NAMA LIKE “*UDI*” Tampilkan mahasiswa yang memiliki saudara lebih dari 5 dan penghasilan orang tuanya kurang dari Rp.1.500.000 SELECT NAMA FROM PRIBADI_MAHASISWA WHERE (JUMLAH_SAUDARA>5) AND (PENGHASILAN_ORTU < 1500000)

SQL untuk Mengupdate Data UPDATE [nama tabel] SET [field = nilai yang baru] WHERE [kondisi yang harus dipenuhi dari record yang akan diupdate] Misalnya Anda ingin mengupdate data penghasilan ortu mahasiswa “BUDI” dengan menguranginya Rp 100.000 dan menambah kata-kata BDG pada alamatnya. SQL untuk melakukan hal tersebut adalah: UPDATE PRIBADI_MAHASISWA SET PENGHASILAN_ORTU = PENGHASILAN_ORTU – 100000, ALAMAT = ALAMAT + ' BDG' WHERE NAMA = 'BUDI'

SQL untuk Menghapus Data   DELETE FROM [nama tabel] WHERE [kondisi] DELETE menghapus record yang memenuhi kondisi di bagian WHERE. DELETE FROM PRIBADI_MAHASISWA WHERE NAMA = ‘BUDI’ OR NAMA = ‘UDIN’

SQL untuk Fungsi Agregasi Fungsi agregasi adalah fungsi yang digunakan dalam sebuah kelompok record. Ada lima fungsi agregasi: AVG( ) : Menghitung rata-rata MIN( ): Menghitung nilai minimum MAX ( ): Menghitung nilai maksimum SUM () : Menghitung jumlah COUNT (*): Menghitung jumlah record

SQL untuk Fungsi Agregasi (lanjutan) Menghitung rata-rata PENGHASILAN_ORTU : SELECT AVG(PENGHASILAN_ORTU) from PRIBADI_MAHASISWA  Mencari nilai minimum dan maksimum NEM_SMA : SELECT MIN(NEM_SMA) as nilai_terendah, MAX(NEM_SMA) as nilai_tertinggi from PRIBADI_MAHASISWA Lihat bahwa dalam query di atas kita menggunakan dua fungsi agregasi sekaligus. Penggunaan “as” seperti dalam “as nilai_terendah” adalah untuk memberikan nama kolom. Mencari total jumlah saudara: SELECT SUM(JUMLAH_SAUDARA) as [Jumlah Saudara]from PRIBADI_MAHASISWA Pada query di atas, digunakan kurung siku “[ ]“ karena kita menggunakan nama kolom yang mengandung spasi. Mencari total jumlah record pada tabel PRIBADI_MAHASISWA SELECT COUNT(*) as [Jumlah Record]from PRIBADI_MAHASISWA

SQL untuk Menambah Data INSERT INTO [nama tabel (field1,field2,field3,…) ] VALUES [(nilai1,nilai2,nilai3, dst..)] Contoh input data mahasiswa INSERT INTO PRIBADI_MAHASISWA(NIM,NAMA,ALAMAT,KODE_POS,TGL_LAHIR,PENGHASIL AN_ORTU,JUMLAH_SAUDARA,NEM_SMA) VALUES ('33333','BUDI','Buah batu','40132','7/7/2003',1000000,3,50)

Fungsi-Fungsi Standard SQL di Access Fungsi Matematika Contoh penggunaan dalam query: SELECT SIN(ANGKA1), TAN(ANGKA1), COS(ANGKA1) FROM TEST Fungsi Keterangan SIN(x), COS(x), TAN(x), x dalam derajat radian ATN(x) Menghasilkan nilai dalam derajat radian ABS(x) Menghasilkan nilai absolut dari x EXP(x) Menghasilkan e pangkat x FIX(x) Menghilangkan pecahan. Contoh FIX(2.5) = 2 SQR(x) Menghasilkan akar. Contoh: SQR(4) = 2 INT(x) Sama dengan FIX, perbedaannya, untuk nilai negatif, INT menghasilkan nilai integer terdekat yang lebih kecil atau sama dengan x. Contoh: FIX(-8.4) = -8 INT(-8.4) = 9 LOG(x) Natural logaritma dari x. Untuk basis 10, gunakan rumus= Log10 = Log(X) / Log(10#)   RND(x) Menghasilkan bilangan random SGN(x) Menghasilkan: 1: jika x > 0 0: jika x =0 -1: jika x <0

Fungsi-Fungsi Standard SQL di Access Fungsi String Contoh dalam query  SELECT LEFT(NIM,3) FROM PRIBADI_MAHASISWA Fungsi Keterangan LEFT(string,y) Mengcopy sejumlah y karakter dari string. LEFT(“BUDI”,2) = “BU” LEN(string) Menghasilkan panjang string MID(string,start,panjang) Menghasilkan copy dari “string” mulai dari posisi “start” sejumlah “panjang”. Contoh: MID(“BUDIMAN”,3,2) = “DI” RIGHT(string,y) Sama dengan left, tetapi dari kanan.

Lebih Jauh dengan SQL 1 Parameter Query Misalnya kita memiliki query sebagai berikut SELECT * FROM PRIBADI_MAHASISWA WHERE NIM = ‘1111’ Masalah pada query di atas adalah bagaimana jika ingin data mahasiswa dengan NIM lain? Apakah setiap kali harus diubah melalui query-nya? Bagaimana kalau calon usernya tidak mengerti query? Maka dapat digunakan parameter sbb : SELECT * FROM PRIBADI_MAHASISWAWHERE NIM = Mohon masukan NIM mahasiswa

Lebih Jauh dengan SQL 2. Select Distinct Select Distinct menghilangkan duplikasi record dari query. Contoh: Kita akan menampilkan KODE_POS sesuai pada tabel mahasiswa. Dengan SQL dibawah hal tersebut dapat dilakukan dengan mudah select KODE_POS from PRIBADI_MAHASISWA Masalahnya, jika ada beberapa mahasisa mempunyai kode pos yang sama akan muncul dupilikasi. Untuk menghilangkan duplikasi tersebut gunakan SQL berikut: select distinct KODE_POS from PRIBADI_MAHASISWA

Lebih Jauh dengan SQL 3. Order By Order by digunakan untuk mengurutkan data berdasarkan field tertentu baik terurut dari kecil ke besar (ascending) maupun sebaliknya (descending) Contoh: Jika Anda ingin menampilkan data mahasiswa yang terurut berdasarkan NAMA, SQL-nya akan tampak sebagai berikut: select * from PRIBADI_MAHASISWA order by NAMA Bagaimana jika kita ingin mengurutkannya mulai dari besar ke kecil? Gunakan DESC select *fromPRIBADI_MAHASISWAorder by NAMA DESC Catatan: Jika arah pengurutan (ASC/DESC) tidak disebutkan maka secara default yang digunakan adalah ascending (ASC)

Lebih Jauh dengan SQL 4. Between Between digunakan pada bagian where untuk mencari suatu rentang Contoh: (misalnya kita menambahkan field RANKIN_SPMB di tabel PRIBADI_MAHASISWA) select * from PRIBADI_MAHASISWA where RANKING_SPMB between 20 AND 22; select *from PRIBADI_MAHASISWA where TGL_LAHIR Between DATE('1/1/1980') And CDATE('31/12/1980'); Catatan: CDATE adalah fungsi konversi dari string ke tipe date.

Lebih Jauh dengan SQL 5. IN dan NOT IN IN dan NOT IN adalah fungsi himpunan. Contoh: Kita ingin menampilkan SELECT * FROM PRIBADI_MAHASISWA WHERE NIM in ('1111','2222'); Artinya hanya mahasiswa dengan NIM 1111 dan 2222 saja yang ditampilkan. SQL berikut akan menghasilkan kebalikannya: SELECT * FROM PRIBADI_MAHASISWA WHERE NIM not in ('1111','2222');

Lebih Jauh dengan SQL 6. Sub Query IN dan NOT IN juga dapat digunakan dalam SQL yang mengandung subquery. Contoh: Misalkan kita memiliki tabel MAHASISWA_KASUS yang berisi daftar mahasiswa yang berkasus akademik. Maka query berikut akan menampilkan data di tabel PRIBADI_MAHASISWA yang NIM-nya ada di tabel MAHASISWA_KASUS: SELECT * FROM PRIBADI_MAHASISWA WHERE NIM IN (select NIM from MAHASISWA_KASUS);

Lebih Jauh dengan SQL 7. Group By dan Having KODE_POS JUMLAH 40164 2 40212 1 40222 4 7. Group By dan Having Group by digunakan dalam query yang menggunakan fungsi agregasi. Misalkan kita ingin menghitung jumlah mahasiswa yang berada pada suatu kode pos tertentu. Hasil yang kita inginkan adalah sbb: SELECT KODE_POS, COUNT(*) AS JUMLAH FROM PRIBADI_MAHASISWA GROUP BY KODE_POS Group by pada query di atas mengelompokkan penghitungan (count(*)) berdasarkan KODE_POS.  Having digunakan untuk memfilter berdasarkan fungsi agregasi. Misalnya kita hanya ingin menampilkan KODE_POS yang memiliki jumlah 2 maka query di atas dapat diubah menjadi: SELECT KODE_POS, COUNT(*) AS JUMLAH FROM PRIBADI_MAHASISWA GROUP BY KODE_POS HAVING COUNT(*) = 2

Lebih Jauh dengan SQL 8. Karakter “&” untuk pengabungan string “&” digunakan untuk menggabung field hasil query select. Contoh: SELECT ALAMAT&" "&KODE_POS as ALAMAT_LENGKAP FROM PRIBADI_MAHASISWA Hasilnya adalah satu kolom (“Alamat Lengkap”) yang terdiri atas gabungan string dan kodepos

Tugas Silahkan Coba sendiri