SlideShare a Scribd company logo
Mudah
Belajar
SQL
Langkah Awal
menguasai bahasa
SQL

Oleh :David Kurniawan
1


Pengantar SQL
Sejarah dan Tujuan mempelajari SQL
       Menurut yang tertulis di wikipedia, Standarisasi SQL dimulai pada tahun 1986,
ditandai dengan dikeluarkannya standar SQL oleh ANSI. Standar ini sering disebut
dengan SQL86. Standar tersebut kemudian diperbaiki pada tahun 1989 kemudian
diperbaiki lagi pada tahun 1992. Versi terakhir dikenal dengan SQL92. Pada tahun 1999
dikeluarkan standar baru yaitu SQL99 atau disebut juga SQL99, akan tetapi kebanyakan
implementasi mereferensi pada SQL92.
       SQL merupakan bahasa standar yang digunakan untuk melakukan manipulasi
database relational maka penting artinya bagi siapapun yang mempelajari pemrograman
database mengerti tentang SQL, tidak peduli apakah anda bekerja dengan SQL Server
Familiy, MtSql, Postgre SQL, dan DBMS lain. Bahasa SQL tetap menjadi pedoman
utama meskipun masing-masing DBMS memiliki “dialeknya” masing-masing.
       Dengan menguasai bahasa SQL, berarti anda sudah siap untuk membuat aplikasi
database dengan variasi DBMS yang tersedia.


Tools
Untuk mempraktekan isi E-book ini , anda bisa menggunakan Tools-Tools SQL yang
tersedia sesuai dengan DBMS yang digunakan.
Seperti         : Query Analyzer untuk SQL Server, Heidi SQL untuk MYSQL, Query
di MsAccess, dsb.


Bentuk dasar SQL
         Sebelum kita belajr lebih lanjut tentang SQL ada baiknya anda mempersiapkan
4 buah table sebagai berikut:
   a. Transaksi
       Notrans       Tgl                               Waktu           Userid
       GrandTotal
       ------------ ---------------------------        ------------ -----------
       --------- ---------------------
       TRK-00000001 2007-03-03 00:00:00.000            4:40:02 PM      Ika
       54000.0000
       TRK-00000002 2007-03-03 00:00:00.000            4:49:21 PM      Gafoer
       30108000.0000
       TRK-00000003 2007-03-06 00:00:00.000            7:16:09 PM      Wahyu
       15270000.0000
       TRK-00000004 2007-03-06 00:00:00.000            7:18:52 PM      Ika
       54000.0000
       TRK-00000005 2007-03-08 00:00:00.000            7:30:35 PM      Wahyu
       61908000.0000
2


   b. DetailJual
      Notrans        KodeBarang   Hargajual                JML
      ------------   ----------   ---------------------    -----------
      TRK-00000002   BRG-01       54000.0000               2
      TRK-00000002   BRG-02       15000000.0000            2
      TRK-00000003   BRG-01       54000.0000               5
      TRK-00000003   BRG-02       15000000.0000            1
      TRK-00000003   BRG-01       54000.0000               5
      TRK-00000003   BRG-02       15000000.0000            1
      TRK-00000004   BRG-01       54000.0000               1
      TRK-00000005   BRG-01       54000.0000               2
      TRK-00000005   BRG-02       15000000.0000            3
      TRK-00000005   BRG-03       1200000.0000             3
      TRK-00000005   BRG-26       13200000.0000            1
   c. Operator
      Userid                  Password
      --------------------    ----------------------------------------
      Gafoer                  Gafoer
      Ika                     123456
      Wahyu                   Cakep
   d. Barang
      Kodebarang   Namabarang      Jenis                  Harga           Stock
      ----------   ------------------------- ---------------------        ------
      BRG-01       KEYBOARD         KOMPUTER        54000.0000            23
      BRG-02       MONITOR          ELEKTRONIK      15000000.0000         20
      BRG-03       MOTHERBOARD      ELEKTRONIK      1200000.0000           2
      BRG-26       INFOCUS          ELEKTRONIK      13200000.0000          0
      BRG-90       MOTHERBOARD INTEL 3.12 KOMPUTER    750000.0000         36

Rumus DASAR SQL Perintah SELECT
SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ...]
FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON
kondisi_penghubung]
[, nama_tabel3 [AS alias3], ...]
[WHERE kondisi]
[ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], ...]]
[GROUP BY nama_field1[, nama_field2, ...]]
[HAVING kondisi_aggregat]

Bagian-bagian utama dalam SQL
  1. SELECT
     Perintah ini gunakan untuk menampilkan Field yang akan di tampilkan dalam
     hasil Query
     Contoh : SELECT Barang.namabarang,barang.jenis…..
  2. FROM
     Merujuk kepada nama Tabel asal dari Field-field yang sudah dituliskan
     sebelumnya
     Contoh : SELECT Barang.namabarang,barang.jenis FROM Barang
  3. INNER |LEFT | RIGHT Join
     Menjelaskan metode relasional antar table [table1] dan [table2]
     a. INNER : Di tampilkan apabila data di [table1] juga ada di [table2]
3


      b. LEFT         : Menampilkan seluruh data di [table1] sekalipun di [table2] data
          tersebut tidak ada.
      c. RIGHT : Menampilkan seluruh data di [table2] sekalipun di [table1] data
          tersebut tidak ada.
      [table1] sebagai table (one), [table2] sebagai table (many)

Contoh INNER 2 Table: SELECT Transaksi.notrans,detailjual.kodebarang FROM
Transaksi INNER JOIN Detailjual ON Transaksi.notrans=Detailjual.notrans

Hasil :
      notrans         kodebarang
      ------------    ----------
      TRK-00000002    BRG-01
      TRK-00000002    BRG-02
      TRK-00000003    BRG-01
      TRK-00000003    BRG-02
      TRK-00000003    BRG-01
      TRK-00000003    BRG-02
      TRK-00000004    BRG-01

      Contoh INNER 3 Table: SELECT
      Transaksi.notrans,Transaksi.Tgl,detailjual.kodebarang,barang.namabarang
      FROM (Transaksi INNER JOIN detailjual ON
      Transaksi.notrans=detailjual.notrans) INNER JOIN Barang
      ON barang.kodebarang=detailjual.kodebarang

Hasil :
            notrans      Tgl                  kodebarang namabarang
      ------------ --------------------------- ---------- -------------
      TRK-00000002 2007-03-03 00:00:00.000     BRG-01     KEYBOARD
      TRK-00000002 2007-03-03 00:00:00.000     BRG-02     MONITOR
      TRK-00000003 2007-03-06 00:00:00.000     BRG-01     KEYBOARD
      TRK-00000003 2007-03-06 00:00:00.000     BRG-02     MONITOR
      TRK-00000003 2007-03-06 00:00:00.000     BRG-01     KEYBOARD
      TRK-00000003 2007-03-06 00:00:00.000     BRG-02     MONITOR
      TRK-00000004 2007-03-06 00:00:00.000     BRG-01     KEYBOARD
      TRK-00000005 2007-03-08 00:00:00.000     BRG-01     KEYBOARD
      TRK-00000005 2007-03-08 00:00:00.000     BRG-02     MONITOR
      TRK-00000005 2007-03-08 00:00:00.000     BRG-03     MOTHERBOARD
      TRK-00000005 2007-03-08 00:00:00.000     BRG-26     INFOCUS

      Contoh LEFT 2 Table : SELECT Barang.namabarang,detailjual.kodebarang
      FROM Barang LEFT JOIN Detailjual ON
      Barang.Kodebarang=Detailjual.Kodebarang

Hasil :
      namabarang                      kodebarang
      -------------------------       ----------
      KEYBOARD                        BRG-01
      KEYBOARD                        BRG-01
      KEYBOARD                        BRG-01
4

      KEYBOARD                        BRG-01
      KEYBOARD                        BRG-01
      MONITOR                         BRG-02
      MONITOR                         BRG-02
      MONITOR                         BRG-02
      MONITOR                         BRG-02
      MOTHERBOARD                     BRG-03
      INFOCUS                         BRG-26
      MOTHERBOARD INTEL 3.12          NULL

      NULL artinya data tidak terdapat di table detailjual

      Cobalah menggunakan metode Right, dan perhatikan kenapa hasilnya kosong/
      tidak ada data yang ditampilkan?

      Jawab :
      Hasil Kosong karena tidak ada data di Table detailjual yang berbeda dengan data
      di table Barang

   4. WHERE
      WHERE berlaku untuk melakukan filter-ing data yang ditampilkan
      Contoh      :
      SELECT barang.namabarang,barang.harga FROM
      barang WHERE barang.harga > 20000

Hasil :
      namabarang                      harga
      -------------------------       ---------------------
      KEYBOARD                        54000.0000
      MONITOR                         15000000.0000
      MOTHERBOARD                     1200000.0000
      INFOCUS                         13200000.0000
      MOTHERBOARD INTEL 3.12          750000.0000

      Selain symbol pembanding seperti “=”, ”>”, ”>=”, ”<”, ”<=” anda juga bisa
      menggunakan perintah BETWEEN(antara). Fungsi “AND” dan “OR” juga bisa
      digunakan untuk menghubungkan 2 kriteria atau lebih.

      Sebagai contoh untuk menampilkan data barang yang memiliki harga antara
      750000 sampai dengan 2000000. Bisa menggunakan 2 cara :

             a. SELECT barang.namabarang,barang.harga FROM
                barang WHERE (barang.harga >= 750000 AND barang.harga
                <=2000000)
             b. SELECT barang.namabarang,barang.harga FROM
                barang WHERE barang.harga BETWEEN 750000 and 2000000
5


          Sedangkan untuk pen-filter-an tipe tanggal and bisa menggunakan sama dengan
          tipe data string yaitu dengan pemberian tanda petik seperti

          SELECT Notrans,Tgl from transaksi WHERE tgl='03-06-2007'

Hasil:

          Notrans        Tgl
          ------------   ---------------------------
          TRK-00000003   2007-03-06 00:00:00.000
          TRK-00000004   2007-03-06 00:00:00.000



             Susunan Tanggal di T-SQL (SQL Server) – “mm-dd-yyyy”
             Anda juga bisa menggunakan
             Tgl= „April 15, 1998‟
             Atau
             Tgl=‟19980415‟ untuk April 15,1998




   5. ORDER BY
      Digunakan untuk mengurut data berdasarkan field yang ditentukan, pengurutan
      memiliki 2 pilihan yaitu ASC (A-Z) dan DESC(Z-A).

          Contoh :
          SELECT barang.namabarang,barang.harga FROM BARANG ORDER BY
          barang.harga DESC

Hasil :
          namabarang                    harga
          -------------------------     ---------------------
          MONITOR                       15000000.0000
          INFOCUS                       13200000.0000
          MOTHERBOARD                   1200000.0000
          MOTHERBOARD INTEL 3.12        750000.0000
          KEYBOARD                      54000.0000

   6. GROUP BY
      Digunakan untuk memberikan kunci penghitungan Agregat(Sum,Avg,Count)

          Contoh :
          SELECT Transaksi.Tgl,Sum(GrandTotal) As TotalPerTgl FROM Transaksi
          Group BY Transaksi.Tgl
6


Hasil :
                Tgl                    TotalPerTgl
          ------------------------ ---------------------
          2007-03-03 00:00:00.000     30162000.0000
          2007-03-06 00:00:00.000     15324000.0000
          2007-03-13 00:00:00.000     61908000.0000

   7. HAVING
      Fungsi Having mirip dengan perintah WHERE yang bemanfaat untuk men-filter
      data, Havig di tujukan untuk melakukan filter agregat(SUM,AVG,COUNT)
      Contoh :
      SELECT Transaksi.Tgl,Sum(GrandTotal) As TotalPerTgl FROM Transaksi
      Group BY Transaksi.Tgl Having Sum(GrandTotal) Between 30000000 and
      70000000
Hasil :
          Tgl                           TotalPerTgl
          ---------------------------   ---------------------
          2007-03-03 00:00:00.000       30162000.0000
          2007-03-13 00:00:00.000       61908000.0000

Rumus DASAR SQL yang Lain
Selain perintah SELECT yang sering digunakan untuk menampilkan data, SQL juga
memiliki fungsi lain yang berguna untuk memanipulasi data.
    1. INSERT INTO
       Menembahkan data ke table
       Contoh :
       INSERT INTO OPERATOR(UserID,Password) VALUES('adi-1','1234')
    2. UPDATE
       Merubah isi table tambah perintah WHERE untuk memberikan kriteria data yang
       bisa di rubah, apabila anda tidak mencantumkan WHERE berarti semua data akan
       dirubah.
       Contoh :
       Update Operator Set Password='a' WHERE UserID=‟adi‟
    3. DELETE
       Menghapus Data
       Contoh :
       DELETE barang WHERE stock=0
7



Penutup
Saya berharap tutorial singkat tentang Perintah SQL ini dapat membantu anda untuk
meningkatkan kemampuan. Meskipun tidak di pungkiri bahwa banyak sekali Tools SQL
tersedia untuk mempermudah proses penulisan SQL. Namun dengan memahami hal-hal
penting dalam perintah SQL otomatis anda sudah meningkatkan kemampuan penting
yang harus dimiliki oleh Programming Database.


Akhir Kata, Semoga Tulisan ini Bermanfaat Bagi Anda Sekalian.

David Kurniawan


Profile
                    David Kurniawan, Lahir di Surabaya pada tanggal 24 Juli 1980,
                    Disela-sela waktu senggang sebagai Branch Manager sebuah
                    Lembaga Pendidikan Komputer Wearnes Education Center di
                    Madiun, aktif menulis seputar Tutorial berkomputer, Internet, dan
                    Wordpress hasil tulisannya bisa anda lihat di BLOG
                    http://davidkurniawan.web.id.

More Related Content

Viewers also liked (6)

L lpic2201-pdf
L lpic2201-pdfL lpic2201-pdf
L lpic2201-pdf
 
Create custom paper size in crystal reports
Create custom paper size in crystal reportsCreate custom paper size in crystal reports
Create custom paper size in crystal reports
 
The Future of Video Marketing
The Future of Video Marketing The Future of Video Marketing
The Future of Video Marketing
 
Presentazione System Piscine
Presentazione System PiscinePresentazione System Piscine
Presentazione System Piscine
 
Pengantar Dan Asepsis Antisepsis Dr Yuda Umm
Pengantar Dan Asepsis Antisepsis Dr Yuda UmmPengantar Dan Asepsis Antisepsis Dr Yuda Umm
Pengantar Dan Asepsis Antisepsis Dr Yuda Umm
 
Luka Wound Healing Dr Yuda Umm
Luka  Wound Healing Dr Yuda UmmLuka  Wound Healing Dr Yuda Umm
Luka Wound Healing Dr Yuda Umm
 

Similar to Pengantar sql (9)

SELECT
SELECTSELECT
SELECT
 
Inventory control level 1 materi training stmi
Inventory control level 1 materi training stmiInventory control level 1 materi training stmi
Inventory control level 1 materi training stmi
 
Materi my sql part 2
Materi my sql part 2Materi my sql part 2
Materi my sql part 2
 
Modul sql tingkat dasar
Modul sql tingkat dasarModul sql tingkat dasar
Modul sql tingkat dasar
 
Chapter 7 -_normalisasi_fix
Chapter 7 -_normalisasi_fixChapter 7 -_normalisasi_fix
Chapter 7 -_normalisasi_fix
 
Prak 2 pbd Soal dml dan select (share)
Prak 2 pbd   Soal dml dan select (share)Prak 2 pbd   Soal dml dan select (share)
Prak 2 pbd Soal dml dan select (share)
 
Cenadep.org - Tutorial Penomoran Transaksi Otomatis Dengan Delphi Dan MySQL
Cenadep.org - Tutorial Penomoran Transaksi Otomatis Dengan Delphi Dan MySQLCenadep.org - Tutorial Penomoran Transaksi Otomatis Dengan Delphi Dan MySQL
Cenadep.org - Tutorial Penomoran Transaksi Otomatis Dengan Delphi Dan MySQL
 
Kamus pl sql
Kamus pl sqlKamus pl sql
Kamus pl sql
 
database
databasedatabase
database
 

Recently uploaded

Recently uploaded (20)

perumusan visi, misi dan tujuan sekolah.ppt
perumusan visi, misi dan tujuan sekolah.pptperumusan visi, misi dan tujuan sekolah.ppt
perumusan visi, misi dan tujuan sekolah.ppt
 
MODUL AJAR MATEMATIKA KELAS 1 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 1 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 1 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 1 KURIKULUM MERDEKA.pdf
 
MODUL AJAR BAHASA INDONESIA KELAS 1 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 1 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 1 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 1 KURIKULUM MERDEKA.pdf
 
ALUR TUJUAN PEMBELAJARAN (ATP) B. Inggris kelas 7.pdf
ALUR TUJUAN PEMBELAJARAN (ATP) B. Inggris kelas 7.pdfALUR TUJUAN PEMBELAJARAN (ATP) B. Inggris kelas 7.pdf
ALUR TUJUAN PEMBELAJARAN (ATP) B. Inggris kelas 7.pdf
 
LK 1 - 5T Keputusan Berdampak (1). SDN 001 BU.pdf
LK 1 - 5T Keputusan Berdampak (1). SDN 001 BU.pdfLK 1 - 5T Keputusan Berdampak (1). SDN 001 BU.pdf
LK 1 - 5T Keputusan Berdampak (1). SDN 001 BU.pdf
 
Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...
Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...
Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...
 
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
 
Laporan Piket Guru untuk bukti dukung PMM.pdf
Laporan Piket Guru untuk bukti dukung PMM.pdfLaporan Piket Guru untuk bukti dukung PMM.pdf
Laporan Piket Guru untuk bukti dukung PMM.pdf
 
RENCANA + Link2 MATERI Training _PEMBEKALAN Kompetensi_PENGELOLAAN PENGADAAN...
RENCANA + Link2 MATERI  Training _PEMBEKALAN Kompetensi_PENGELOLAAN PENGADAAN...RENCANA + Link2 MATERI  Training _PEMBEKALAN Kompetensi_PENGELOLAAN PENGADAAN...
RENCANA + Link2 MATERI Training _PEMBEKALAN Kompetensi_PENGELOLAAN PENGADAAN...
 
Sejarah dan Perkembangan Agama Hindu.pptx
Sejarah dan Perkembangan Agama Hindu.pptxSejarah dan Perkembangan Agama Hindu.pptx
Sejarah dan Perkembangan Agama Hindu.pptx
 
Seminar: Sekolah Alkitab Liburan (SAL) 2024
Seminar: Sekolah Alkitab Liburan (SAL) 2024Seminar: Sekolah Alkitab Liburan (SAL) 2024
Seminar: Sekolah Alkitab Liburan (SAL) 2024
 
Sosialisme Kapitalis Karl Marx (Dosen Pengampu: Khoirin Nisai Shalihati)
Sosialisme Kapitalis Karl Marx (Dosen Pengampu: Khoirin Nisai Shalihati)Sosialisme Kapitalis Karl Marx (Dosen Pengampu: Khoirin Nisai Shalihati)
Sosialisme Kapitalis Karl Marx (Dosen Pengampu: Khoirin Nisai Shalihati)
 
Presentasi visi misi revisi sekolah dasar.pptx
Presentasi visi misi revisi sekolah dasar.pptxPresentasi visi misi revisi sekolah dasar.pptx
Presentasi visi misi revisi sekolah dasar.pptx
 
Modul Pembentukan Disiplin Rohani (PDR) 2024
Modul Pembentukan Disiplin Rohani (PDR) 2024Modul Pembentukan Disiplin Rohani (PDR) 2024
Modul Pembentukan Disiplin Rohani (PDR) 2024
 
BUKTI DUKUNG RHK SEKOLAH DASAR NEGERI.pptx
BUKTI DUKUNG RHK SEKOLAH DASAR NEGERI.pptxBUKTI DUKUNG RHK SEKOLAH DASAR NEGERI.pptx
BUKTI DUKUNG RHK SEKOLAH DASAR NEGERI.pptx
 
tugas modul 1.4 Koneksi Antar Materi (1).pptx
tugas  modul 1.4 Koneksi Antar Materi (1).pptxtugas  modul 1.4 Koneksi Antar Materi (1).pptx
tugas modul 1.4 Koneksi Antar Materi (1).pptx
 
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptx
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptxBab 3 Sejarah Kerajaan Hindu-Buddha.pptx
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptx
 
LAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERI
LAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERILAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERI
LAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERI
 
CONTOH LAPORAN PARTISIPAN OBSERVASI.docx
CONTOH LAPORAN PARTISIPAN OBSERVASI.docxCONTOH LAPORAN PARTISIPAN OBSERVASI.docx
CONTOH LAPORAN PARTISIPAN OBSERVASI.docx
 
Program Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdfProgram Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdf
 

Pengantar sql

  • 2. 1 Pengantar SQL Sejarah dan Tujuan mempelajari SQL Menurut yang tertulis di wikipedia, Standarisasi SQL dimulai pada tahun 1986, ditandai dengan dikeluarkannya standar SQL oleh ANSI. Standar ini sering disebut dengan SQL86. Standar tersebut kemudian diperbaiki pada tahun 1989 kemudian diperbaiki lagi pada tahun 1992. Versi terakhir dikenal dengan SQL92. Pada tahun 1999 dikeluarkan standar baru yaitu SQL99 atau disebut juga SQL99, akan tetapi kebanyakan implementasi mereferensi pada SQL92. SQL merupakan bahasa standar yang digunakan untuk melakukan manipulasi database relational maka penting artinya bagi siapapun yang mempelajari pemrograman database mengerti tentang SQL, tidak peduli apakah anda bekerja dengan SQL Server Familiy, MtSql, Postgre SQL, dan DBMS lain. Bahasa SQL tetap menjadi pedoman utama meskipun masing-masing DBMS memiliki “dialeknya” masing-masing. Dengan menguasai bahasa SQL, berarti anda sudah siap untuk membuat aplikasi database dengan variasi DBMS yang tersedia. Tools Untuk mempraktekan isi E-book ini , anda bisa menggunakan Tools-Tools SQL yang tersedia sesuai dengan DBMS yang digunakan. Seperti : Query Analyzer untuk SQL Server, Heidi SQL untuk MYSQL, Query di MsAccess, dsb. Bentuk dasar SQL Sebelum kita belajr lebih lanjut tentang SQL ada baiknya anda mempersiapkan 4 buah table sebagai berikut: a. Transaksi Notrans Tgl Waktu Userid GrandTotal ------------ --------------------------- ------------ ----------- --------- --------------------- TRK-00000001 2007-03-03 00:00:00.000 4:40:02 PM Ika 54000.0000 TRK-00000002 2007-03-03 00:00:00.000 4:49:21 PM Gafoer 30108000.0000 TRK-00000003 2007-03-06 00:00:00.000 7:16:09 PM Wahyu 15270000.0000 TRK-00000004 2007-03-06 00:00:00.000 7:18:52 PM Ika 54000.0000 TRK-00000005 2007-03-08 00:00:00.000 7:30:35 PM Wahyu 61908000.0000
  • 3. 2 b. DetailJual Notrans KodeBarang Hargajual JML ------------ ---------- --------------------- ----------- TRK-00000002 BRG-01 54000.0000 2 TRK-00000002 BRG-02 15000000.0000 2 TRK-00000003 BRG-01 54000.0000 5 TRK-00000003 BRG-02 15000000.0000 1 TRK-00000003 BRG-01 54000.0000 5 TRK-00000003 BRG-02 15000000.0000 1 TRK-00000004 BRG-01 54000.0000 1 TRK-00000005 BRG-01 54000.0000 2 TRK-00000005 BRG-02 15000000.0000 3 TRK-00000005 BRG-03 1200000.0000 3 TRK-00000005 BRG-26 13200000.0000 1 c. Operator Userid Password -------------------- ---------------------------------------- Gafoer Gafoer Ika 123456 Wahyu Cakep d. Barang Kodebarang Namabarang Jenis Harga Stock ---------- ------------------------- --------------------- ------ BRG-01 KEYBOARD KOMPUTER 54000.0000 23 BRG-02 MONITOR ELEKTRONIK 15000000.0000 20 BRG-03 MOTHERBOARD ELEKTRONIK 1200000.0000 2 BRG-26 INFOCUS ELEKTRONIK 13200000.0000 0 BRG-90 MOTHERBOARD INTEL 3.12 KOMPUTER 750000.0000 36 Rumus DASAR SQL Perintah SELECT SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ...] FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON kondisi_penghubung] [, nama_tabel3 [AS alias3], ...] [WHERE kondisi] [ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], ...]] [GROUP BY nama_field1[, nama_field2, ...]] [HAVING kondisi_aggregat] Bagian-bagian utama dalam SQL 1. SELECT Perintah ini gunakan untuk menampilkan Field yang akan di tampilkan dalam hasil Query Contoh : SELECT Barang.namabarang,barang.jenis….. 2. FROM Merujuk kepada nama Tabel asal dari Field-field yang sudah dituliskan sebelumnya Contoh : SELECT Barang.namabarang,barang.jenis FROM Barang 3. INNER |LEFT | RIGHT Join Menjelaskan metode relasional antar table [table1] dan [table2] a. INNER : Di tampilkan apabila data di [table1] juga ada di [table2]
  • 4. 3 b. LEFT : Menampilkan seluruh data di [table1] sekalipun di [table2] data tersebut tidak ada. c. RIGHT : Menampilkan seluruh data di [table2] sekalipun di [table1] data tersebut tidak ada. [table1] sebagai table (one), [table2] sebagai table (many) Contoh INNER 2 Table: SELECT Transaksi.notrans,detailjual.kodebarang FROM Transaksi INNER JOIN Detailjual ON Transaksi.notrans=Detailjual.notrans Hasil : notrans kodebarang ------------ ---------- TRK-00000002 BRG-01 TRK-00000002 BRG-02 TRK-00000003 BRG-01 TRK-00000003 BRG-02 TRK-00000003 BRG-01 TRK-00000003 BRG-02 TRK-00000004 BRG-01 Contoh INNER 3 Table: SELECT Transaksi.notrans,Transaksi.Tgl,detailjual.kodebarang,barang.namabarang FROM (Transaksi INNER JOIN detailjual ON Transaksi.notrans=detailjual.notrans) INNER JOIN Barang ON barang.kodebarang=detailjual.kodebarang Hasil : notrans Tgl kodebarang namabarang ------------ --------------------------- ---------- ------------- TRK-00000002 2007-03-03 00:00:00.000 BRG-01 KEYBOARD TRK-00000002 2007-03-03 00:00:00.000 BRG-02 MONITOR TRK-00000003 2007-03-06 00:00:00.000 BRG-01 KEYBOARD TRK-00000003 2007-03-06 00:00:00.000 BRG-02 MONITOR TRK-00000003 2007-03-06 00:00:00.000 BRG-01 KEYBOARD TRK-00000003 2007-03-06 00:00:00.000 BRG-02 MONITOR TRK-00000004 2007-03-06 00:00:00.000 BRG-01 KEYBOARD TRK-00000005 2007-03-08 00:00:00.000 BRG-01 KEYBOARD TRK-00000005 2007-03-08 00:00:00.000 BRG-02 MONITOR TRK-00000005 2007-03-08 00:00:00.000 BRG-03 MOTHERBOARD TRK-00000005 2007-03-08 00:00:00.000 BRG-26 INFOCUS Contoh LEFT 2 Table : SELECT Barang.namabarang,detailjual.kodebarang FROM Barang LEFT JOIN Detailjual ON Barang.Kodebarang=Detailjual.Kodebarang Hasil : namabarang kodebarang ------------------------- ---------- KEYBOARD BRG-01 KEYBOARD BRG-01 KEYBOARD BRG-01
  • 5. 4 KEYBOARD BRG-01 KEYBOARD BRG-01 MONITOR BRG-02 MONITOR BRG-02 MONITOR BRG-02 MONITOR BRG-02 MOTHERBOARD BRG-03 INFOCUS BRG-26 MOTHERBOARD INTEL 3.12 NULL NULL artinya data tidak terdapat di table detailjual Cobalah menggunakan metode Right, dan perhatikan kenapa hasilnya kosong/ tidak ada data yang ditampilkan? Jawab : Hasil Kosong karena tidak ada data di Table detailjual yang berbeda dengan data di table Barang 4. WHERE WHERE berlaku untuk melakukan filter-ing data yang ditampilkan Contoh : SELECT barang.namabarang,barang.harga FROM barang WHERE barang.harga > 20000 Hasil : namabarang harga ------------------------- --------------------- KEYBOARD 54000.0000 MONITOR 15000000.0000 MOTHERBOARD 1200000.0000 INFOCUS 13200000.0000 MOTHERBOARD INTEL 3.12 750000.0000 Selain symbol pembanding seperti “=”, ”>”, ”>=”, ”<”, ”<=” anda juga bisa menggunakan perintah BETWEEN(antara). Fungsi “AND” dan “OR” juga bisa digunakan untuk menghubungkan 2 kriteria atau lebih. Sebagai contoh untuk menampilkan data barang yang memiliki harga antara 750000 sampai dengan 2000000. Bisa menggunakan 2 cara : a. SELECT barang.namabarang,barang.harga FROM barang WHERE (barang.harga >= 750000 AND barang.harga <=2000000) b. SELECT barang.namabarang,barang.harga FROM barang WHERE barang.harga BETWEEN 750000 and 2000000
  • 6. 5 Sedangkan untuk pen-filter-an tipe tanggal and bisa menggunakan sama dengan tipe data string yaitu dengan pemberian tanda petik seperti SELECT Notrans,Tgl from transaksi WHERE tgl='03-06-2007' Hasil: Notrans Tgl ------------ --------------------------- TRK-00000003 2007-03-06 00:00:00.000 TRK-00000004 2007-03-06 00:00:00.000 Susunan Tanggal di T-SQL (SQL Server) – “mm-dd-yyyy” Anda juga bisa menggunakan Tgl= „April 15, 1998‟ Atau Tgl=‟19980415‟ untuk April 15,1998 5. ORDER BY Digunakan untuk mengurut data berdasarkan field yang ditentukan, pengurutan memiliki 2 pilihan yaitu ASC (A-Z) dan DESC(Z-A). Contoh : SELECT barang.namabarang,barang.harga FROM BARANG ORDER BY barang.harga DESC Hasil : namabarang harga ------------------------- --------------------- MONITOR 15000000.0000 INFOCUS 13200000.0000 MOTHERBOARD 1200000.0000 MOTHERBOARD INTEL 3.12 750000.0000 KEYBOARD 54000.0000 6. GROUP BY Digunakan untuk memberikan kunci penghitungan Agregat(Sum,Avg,Count) Contoh : SELECT Transaksi.Tgl,Sum(GrandTotal) As TotalPerTgl FROM Transaksi Group BY Transaksi.Tgl
  • 7. 6 Hasil : Tgl TotalPerTgl ------------------------ --------------------- 2007-03-03 00:00:00.000 30162000.0000 2007-03-06 00:00:00.000 15324000.0000 2007-03-13 00:00:00.000 61908000.0000 7. HAVING Fungsi Having mirip dengan perintah WHERE yang bemanfaat untuk men-filter data, Havig di tujukan untuk melakukan filter agregat(SUM,AVG,COUNT) Contoh : SELECT Transaksi.Tgl,Sum(GrandTotal) As TotalPerTgl FROM Transaksi Group BY Transaksi.Tgl Having Sum(GrandTotal) Between 30000000 and 70000000 Hasil : Tgl TotalPerTgl --------------------------- --------------------- 2007-03-03 00:00:00.000 30162000.0000 2007-03-13 00:00:00.000 61908000.0000 Rumus DASAR SQL yang Lain Selain perintah SELECT yang sering digunakan untuk menampilkan data, SQL juga memiliki fungsi lain yang berguna untuk memanipulasi data. 1. INSERT INTO Menembahkan data ke table Contoh : INSERT INTO OPERATOR(UserID,Password) VALUES('adi-1','1234') 2. UPDATE Merubah isi table tambah perintah WHERE untuk memberikan kriteria data yang bisa di rubah, apabila anda tidak mencantumkan WHERE berarti semua data akan dirubah. Contoh : Update Operator Set Password='a' WHERE UserID=‟adi‟ 3. DELETE Menghapus Data Contoh : DELETE barang WHERE stock=0
  • 8. 7 Penutup Saya berharap tutorial singkat tentang Perintah SQL ini dapat membantu anda untuk meningkatkan kemampuan. Meskipun tidak di pungkiri bahwa banyak sekali Tools SQL tersedia untuk mempermudah proses penulisan SQL. Namun dengan memahami hal-hal penting dalam perintah SQL otomatis anda sudah meningkatkan kemampuan penting yang harus dimiliki oleh Programming Database. Akhir Kata, Semoga Tulisan ini Bermanfaat Bagi Anda Sekalian. David Kurniawan Profile David Kurniawan, Lahir di Surabaya pada tanggal 24 Juli 1980, Disela-sela waktu senggang sebagai Branch Manager sebuah Lembaga Pendidikan Komputer Wearnes Education Center di Madiun, aktif menulis seputar Tutorial berkomputer, Internet, dan Wordpress hasil tulisannya bisa anda lihat di BLOG http://davidkurniawan.web.id.