21
Basis Data II Pertemuan Ke-6 (Function ) Noor Ifada

Basis Data II 06 - Ifa's · Basis Data II Pertemuan Ke-6 (Function) Noor Ifada. S1 Teknik Informatika - Unijoyo 2 Sub Pokok Bahasan Operator IS NULL Operator IN dalam subquery Operator

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Basis Data II 06 - Ifa's · Basis Data II Pertemuan Ke-6 (Function) Noor Ifada. S1 Teknik Informatika - Unijoyo 2 Sub Pokok Bahasan Operator IS NULL Operator IN dalam subquery Operator

Basis Data II

Pertemuan Ke-6(Function)Noor Ifada

Page 2: Basis Data II 06 - Ifa's · Basis Data II Pertemuan Ke-6 (Function) Noor Ifada. S1 Teknik Informatika - Unijoyo 2 Sub Pokok Bahasan Operator IS NULL Operator IN dalam subquery Operator

S1 Teknik Informatika - Unijoyo 2

Sub Pokok BahasanOperator IS NULLOperator IN dalam subqueryOperator EXISTSOperator ALL & ANYDISTINCTFungsi COUNTFungsi MAX dan MINFungsi SUMFungsi AVGEkspresi CASE

Page 3: Basis Data II 06 - Ifa's · Basis Data II Pertemuan Ke-6 (Function) Noor Ifada. S1 Teknik Informatika - Unijoyo 2 Sub Pokok Bahasan Operator IS NULL Operator IN dalam subquery Operator

S1 Teknik Informatika - Unijoyo 3

Operator IS NULL

Contoh 1: Buat daftar seluruh pemain yang memiliki nomor liga!Query:

SELECT PLAYERNO, LEAGUENOFROM PLAYERSWHERE LEAGUENO IS NOT NULL

Digunakan untuk memilih baris (record) dalam kolom tertentu

yang tidak memiliki nilai

Contoh 2: Cari nomor pemain yang tidak memiliki nomor liga!

Query:

SELECT PLAYERNOFROM PLAYERSWHERE LEAGUENO IS NULL

Page 4: Basis Data II 06 - Ifa's · Basis Data II Pertemuan Ke-6 (Function) Noor Ifada. S1 Teknik Informatika - Unijoyo 2 Sub Pokok Bahasan Operator IS NULL Operator IN dalam subquery Operator

S1 Teknik Informatika - Unijoyo 4

Operator IN dalam subqueryContoh 3: Cari nomor, nama dan inisial dari masing-masing pemain yang telah bermain minimal satu kali pertandingan

Query:

SELECT PLAYERNO

FROM MATCHES

Query:

SELECT PLAYERNO, NAME, INITIALS

FROM PLAYERS

WHERE PLAYERNO IN

(2,6,8,27,44,57,83,104,112)

Clumsy

Page 5: Basis Data II 06 - Ifa's · Basis Data II Pertemuan Ke-6 (Function) Noor Ifada. S1 Teknik Informatika - Unijoyo 2 Sub Pokok Bahasan Operator IS NULL Operator IN dalam subquery Operator

S1 Teknik Informatika - Unijoyo 5

Operator IN dalam subquery (contd-2)Contoh 3: Cari nomor, nama dan inisial dari masing-masing pemain yang telah bermain minimal satu kali pertandingan

Query:

SELECT PLAYERNO, NAME, INITIALSFROM PLAYERSWHERE PLAYERNO IN

(SELECT PLAYERNO FROM MATCHES)

Intermediate Result:(2,6,8,27,44,57,83,104,112)

Page 6: Basis Data II 06 - Ifa's · Basis Data II Pertemuan Ke-6 (Function) Noor Ifada. S1 Teknik Informatika - Unijoyo 2 Sub Pokok Bahasan Operator IS NULL Operator IN dalam subquery Operator

S1 Teknik Informatika - Unijoyo 6

Operator IN dalam subquery (contd-3)Contoh 4: Cari nomor dan nama dari masing-masing pemain dari tim 1 yang telah bermain setidaknya satu kali pertandingan!

Query:

SELECT PLAYERNO, NAMEFROM PLAYERSWHERE PLAYERNO IN

(SELECT PLAYERNO FROM MATCHES

WHERE TEAMNO = 1)

Intermediate Result:(2,6,8,44,57,83)

Page 7: Basis Data II 06 - Ifa's · Basis Data II Pertemuan Ke-6 (Function) Noor Ifada. S1 Teknik Informatika - Unijoyo 2 Sub Pokok Bahasan Operator IS NULL Operator IN dalam subquery Operator

S1 Teknik Informatika - Unijoyo 7

Operator IN dalam subquery (contd-4)Contoh 5: Cari nomor dan nama dari masing-masing pemain yang telah bermain setidaknya satu kali pertandingan dari suatu tim yang kaptennya bukan pemain no 6!Query:

SELECT PLAYERNO, NAMEFROM PLAYERSWHERE PLAYERNO IN

(SELECT PLAYERNO FROM MATCHES WHERE TEAMNO NOT IN

(SELECT TEAMNO FROM TEAMS WHERE PLAYERNO = 6))

Intermediate Result:(1)

Intermediate Result:(8,27,104,112)

Page 8: Basis Data II 06 - Ifa's · Basis Data II Pertemuan Ke-6 (Function) Noor Ifada. S1 Teknik Informatika - Unijoyo 2 Sub Pokok Bahasan Operator IS NULL Operator IN dalam subquery Operator

S1 Teknik Informatika - Unijoyo 8

Operator EXISTSContoh 6: Cari nama dan inisial dari masing-masing pemain yang telah melakukan minimal satu kali penalti!

Query 1:

SELECT NAME, INITIALSFROM PLAYERSWHERE PLAYERNO IN

(SELECT PLAYERNO FROM PENALTIES)

Query 2:

SELECT NAME, INITIALSFROM PLAYERSWHERE EXISTS

(SELECT * FROM PENALTIES WHERE PLAYERNO = PLAYERS.PLAYERNO)

Page 9: Basis Data II 06 - Ifa's · Basis Data II Pertemuan Ke-6 (Function) Noor Ifada. S1 Teknik Informatika - Unijoyo 2 Sub Pokok Bahasan Operator IS NULL Operator IN dalam subquery Operator

S1 Teknik Informatika - Unijoyo 9

Operator EXISTS (contd-2)Contoh 7: Cari nama dan inisial dari para pemain yang tidak menjadi kapten dalam suatu tim!

Query:

SELECT NAME, INITIALSFROM PLAYERSWHERE NOT EXISTS

(SELECT * FROM TEAMS WHERE PLAYERNO = PLAYERS.PLAYERNO)

Page 10: Basis Data II 06 - Ifa's · Basis Data II Pertemuan Ke-6 (Function) Noor Ifada. S1 Teknik Informatika - Unijoyo 2 Sub Pokok Bahasan Operator IS NULL Operator IN dalam subquery Operator

S1 Teknik Informatika - Unijoyo 10

Operator ALL & ANY

Contoh 8: Cari nomor, nama dan tanggal lahir dari pemain yang usianya paling tua! Pemain yang paling tua adalah pemain yang tanggal lahirnya adalah lebih kecil atau sama dengan pemain-pemain yang lain.Query:

SELECT PLAYERNO, NAME, BIRTH_DATEFROM PLAYERSWHERE BIRTH_DATE <= ALL

(SELECT BIRTH_DATE FROM PLAYERS)

Fungsinya seperti Operator IN dalam subquery

Page 11: Basis Data II 06 - Ifa's · Basis Data II Pertemuan Ke-6 (Function) Noor Ifada. S1 Teknik Informatika - Unijoyo 2 Sub Pokok Bahasan Operator IS NULL Operator IN dalam subquery Operator

S1 Teknik Informatika - Unijoyo 11

Operator ALL & ANY (contd-2)

Contoh 9: Cari nomor, nama dan tanggal lahir dari masing-masing pemain terkecuali pemain yang usianya paling tua!

Query:

SELECT PLAYERNO, NAME, BIRTH_DATEFROM PLAYERSWHERE BIRTH_DATE > ANY

(SELECT BIRTH_DATE FROM PLAYERS)

Page 12: Basis Data II 06 - Ifa's · Basis Data II Pertemuan Ke-6 (Function) Noor Ifada. S1 Teknik Informatika - Unijoyo 2 Sub Pokok Bahasan Operator IS NULL Operator IN dalam subquery Operator

S1 Teknik Informatika - Unijoyo 12

DISTINCT

Contoh 10: Cari nama-nama kota yang berbeda dalam tabel PLAYERS!

Query:

SELECT DISTINCT TOWNFROM PLAYERS

Menghilangkan baris yang isinya sama

Page 13: Basis Data II 06 - Ifa's · Basis Data II Pertemuan Ke-6 (Function) Noor Ifada. S1 Teknik Informatika - Unijoyo 2 Sub Pokok Bahasan Operator IS NULL Operator IN dalam subquery Operator

S1 Teknik Informatika - Unijoyo 13

Function dalam SELECT

COUNT ( [ DISTINCT | ALL ] { * | <expression> } ) |

MIN ( [ DISTINCT | ALL ] <expression> ) |

MAX ( [ DISTINCT | ALL ] <expression> ) |

SUM ( [ DISTINCT | ALL ] <expression> ) |

AVG ( [ DISTINCT | ALL ] <expression> )

Page 14: Basis Data II 06 - Ifa's · Basis Data II Pertemuan Ke-6 (Function) Noor Ifada. S1 Teknik Informatika - Unijoyo 2 Sub Pokok Bahasan Operator IS NULL Operator IN dalam subquery Operator

S1 Teknik Informatika - Unijoyo 14

COUNTContoh 11: Hitung jumlah pemain yang tercatat di dalam tabel PLAYERS!

Query:

SELECT COUNT(*)FROM PLAYERS

Contoh 12: Ada berapa nama kota yang tercatat di dalam kolom TOWN dalam tabel PLAYERS?

Query:

SELECT COUNT(DISTINCT(TOWN))FROM PLAYERS

Page 15: Basis Data II 06 - Ifa's · Basis Data II Pertemuan Ke-6 (Function) Noor Ifada. S1 Teknik Informatika - Unijoyo 2 Sub Pokok Bahasan Operator IS NULL Operator IN dalam subquery Operator

S1 Teknik Informatika - Unijoyo 15

MAXContoh 13: Berapakah jumlah penalti yang tertinggi?Query:

SELECT MAX(AMOUNT)FROM PENALTIES

Contoh 14: Buatlah daftar nomor dan tanggal lahir para pemain yang lahir di tahun yang sama dengan pemain termuda yang bermain untuk Tim 1!Query:

SELECT PLAYERNO, BIRTH_DATEFROM PLAYERSWHERE YEAR(BIRTH_DATE) =

(SELECT MAX(YEAR(BIRTH_DATE)) FROM PLAYERS WHERE PLAYERNO IN

(SELECT PLAYERNOFROM MATCHESWHERE TEAMNO = 1))

Page 16: Basis Data II 06 - Ifa's · Basis Data II Pertemuan Ke-6 (Function) Noor Ifada. S1 Teknik Informatika - Unijoyo 2 Sub Pokok Bahasan Operator IS NULL Operator IN dalam subquery Operator

S1 Teknik Informatika - Unijoyo 16

MINContoh 15: Berapakah nilai/jumlah penalti terendah yang dilakukan oleh pemain yang bertempat tinggal di Stratford?Query:

SELECT MIN(AMOUNT)FROM PENALTIESWHERE PLAYERNO IN

(SELECT PLAYERNO FROM PLAYERS WHERE TOWN = 'Stratford')

Contoh 16: Berapa banyak penalti yang jumlahnya adalah sama dengan nilai/jumlah penalti yang terendah?Query:

SELECT COUNT(*)FROM PENALTIESWHERE AMOUNT =

(SELECT MIN(AMOUNT) FROM PENALTIES)

Page 17: Basis Data II 06 - Ifa's · Basis Data II Pertemuan Ke-6 (Function) Noor Ifada. S1 Teknik Informatika - Unijoyo 2 Sub Pokok Bahasan Operator IS NULL Operator IN dalam subquery Operator

S1 Teknik Informatika - Unijoyo 17

SUM

Contoh 17: Berapa banyak total SET yang telah dimenangkan, total SET yang telah kalah, dan berapa perbedaan di antara keduanya?Query:

SELECT SUM(WON), SUM(LOST), SUM(WON)-SUM(LOST)FROM MATCHES

Hanya dapat digunakan pada ekspresi dengan tipe data numerik

Contoh 18: Berapakah jumlah total penalti yang dilakukan oleh pemain yang berasal dari Inglewood?Query:

SELECT SUM(AMOUNT)FROM PENALTIESWHERE PLAYERNO IN

(SELECT PLAYERNOFROM PLAYERSWHERE TOWN = 'Inglewood')

Page 18: Basis Data II 06 - Ifa's · Basis Data II Pertemuan Ke-6 (Function) Noor Ifada. S1 Teknik Informatika - Unijoyo 2 Sub Pokok Bahasan Operator IS NULL Operator IN dalam subquery Operator

S1 Teknik Informatika - Unijoyo 18

AVGContoh 19: Berapakah jumlah rata-rata penalti yang dilakukan oleh pemain nomor 44?Query:

SELECT AVG(AMOUNT)FROM PENALTIESWHERE PLAYERNO = 44

Contoh 20: Berapakah rata-rata penalti yang dilakukan oleh para pemain yang bermain untuk Tim 1?

Query:

SELECT AVG(AMOUNT)FROM PENALTIESWHERE PLAYERNO IN

(SELECT PLAYERNO FROM MATCHES WHERE TEAMNO = 1)

Page 19: Basis Data II 06 - Ifa's · Basis Data II Pertemuan Ke-6 (Function) Noor Ifada. S1 Teknik Informatika - Unijoyo 2 Sub Pokok Bahasan Operator IS NULL Operator IN dalam subquery Operator

S1 Teknik Informatika - Unijoyo 19

Ekspresi CASE

Merupakan suatu bentuk ekspresi CASE di dalam SQL (serupa

dengan pernyataan IF-THEN-ELSE)

<case expression>

CASE <expression>

WHEN <expression> THEN <expression>

ELSE <expression>

END

Page 20: Basis Data II 06 - Ifa's · Basis Data II Pertemuan Ke-6 (Function) Noor Ifada. S1 Teknik Informatika - Unijoyo 2 Sub Pokok Bahasan Operator IS NULL Operator IN dalam subquery Operator

S1 Teknik Informatika - Unijoyo 20

Ekspresi CASE (contd-2)Contoh: Cari nomor, jenis kelamin dan nama dari masing-masing

pemain yang telah bergabung di dalam klub setelah tahun 1980!

Jenis kelamin harus tercetak sebagai 'Female' atau 'Male' dan

bukannya 'F' atau 'M' saja.

Query:

SELECT PLAYERNO,CASE SEX

WHEN 'F' THEN 'Female'ELSE 'Male' END AS GENDER,

NAMEFROM PLAYERSWHERE JOINED > 1980

Page 21: Basis Data II 06 - Ifa's · Basis Data II Pertemuan Ke-6 (Function) Noor Ifada. S1 Teknik Informatika - Unijoyo 2 Sub Pokok Bahasan Operator IS NULL Operator IN dalam subquery Operator

S1 Teknik Informatika - Unijoyo 21

Keterangan lebih detail mengenai: Functions Operators Control Flow Functions

Cek MySQL 5.0 Reference Manual(Chapter 11. Functions & Operators)