Tujuan

Selamat Belajar Otodidak  SQL Hari ke 2 ! Pada akhir hari ini Anda akan dapat melakukan hal berikut:

  • Menulis query SQL
  • Pilih dan daftar semua baris dan kolom dari tabel
  • Pilih dan daftar kolom yang dipilih dari tabel
  • Pilih dan kolom dari tabel daftar beberapa

Latar belakang

Untuk sepenuhnya menggunakan kekuatan suatu relational database seperti yang dijelaskan secara singkat pada Hari 1, “Pengenalan ke SQL,” Anda perlu berkomunikasi dengannya. Komunikasi utama akan beralih ke komputer Anda dan berkata dengan jelas, suara jelas, “Tunjukkan semua kidal, bermata coklat kacang-counter yang telah bekerja untuk perusahaan ini selama paling sedikit 10 tahun.” Beberapa dari Anda mungkin sudah melakukannya (berbicara ke komputer Anda, bukan daftar kacang counter). Semua orang membutuhkan cara yang lebih konvensional mengambil informasi dari database. Anda dapat membuat link ini penting melalui nama tengah itu SQL, “Query.”

Seperti yang disebutkan pada Hari 1, Permintaan nama sebenarnya adalah keliru dalam konteks ini. Sebuah query SQL tidak selalu pertanyaan ke database. Hal ini dapat perintah untuk melakukan salah satu dari berikut:

  • Membangun atau menghapus tabel
  • Menyisipkan, memodifikasi, atau menghapus baris atau kolom
  • Cari beberapa tabel untuk informasi spesifik dan mengembalikan hasil dalam urutan tertentu
  • Ubah keamanan informasi

Aturan Umum Sintaks

Ketika Anda akan menemukan, sintaks SQL cukup fleksibel, walaupun ada aturan untuk mengikuti seperti di bahasa pemrograman. Sebuah pertanyaan sederhana ini menggambarkan sintaks dasar dari sebuah pernyataan SQL pilih. Perhatikan dengan kasus ini, jarak, dan pemisahan logis dari masing-masing komponen SQL query dengan kata kunci.

  SELECT NAMA, STARTTERM, ENDTERM 
  Dari presiden 
  WHERE NAME 'Lincoln =';

Dalam semua contoh ini dikapitalisasi, tetapi tidak harus. Permintaan sebelumnya akan bekerja sama dengan baik jika ditulis seperti ini:

  pilih nama, startterm, endterm 
  dari presiden 
  mana nama = 'LINCOLN';

Perhatikan bahwa Lincoln muncul dalam huruf besar dalam contoh kedua. Meskipun sebenarnya SQL tidak case sensitive, referensi untuk data dalam database adalah. Sebagai contoh, banyak perusahaan menyimpan data mereka dalam huruf besar. Dalam contoh sebelumnya, berasumsi bahwa kolom nama toko isinya dalam huruf besar. Oleh karena itu, pertanyaan yang mencari ‘Lincoln’ pada kolom nama tidak akan menemukan data apapun untuk kembali. Periksa pelaksanaan dan / atau kebijakan perusahaan untuk persyaratan kasus.


CATATAN: Perintah dalam SQL tidak case sensitive.


Lihatlah lain pada query sampel. Apakah ada sesuatu yang ajaib di spasi jawaban? Lagi adalah tidak. Kode berikut akan bekerja dengan baik:

  pilih nama, startterm, endterm dari presiden di mana nama = 'LINCOLN';

Namun, beberapa hal untuk spasi dan kapitalisasi membuat laporan Anda lebih mudah untuk dibaca. Hal ini juga membuat laporan Anda lebih mudah untuk mempertahankan ketika mereka menjadi bagian dari proyek Anda.

Fitur lain yang penting; (titik koma) koma (;) permintaan sampel adalah titik koma pada akhir dari ekspresi. Tanda baca ini menceritakan program-baris perintah SQL query Anda selesai.

Jika sihir itu tidak dalam kapitalisasi atau format, maka hanya yang unsur penting? Jawabannya adalah kata kunci, atau kata-kata dalam SQL yang dicadangkan sebagai bagian dari sintaks.(Tergantung pada pernyataan SQL, kata kunci dapat berupa elemen wajib atau opsional laporan contoh.) Kata kunci dalam saat ini adalah

  • SELECT
  • DARI
  • WHERE

Periksa daftar isi untuk melihat beberapa kata kunci SQL Anda akan belajar dan pada hari apa.

The Bangunan Blok Data Retrieval: SELECT dan FROM

Seperti pengalaman Anda dengan SQL tumbuh, Anda akan melihat bahwa Anda mengetik kata-kata SELECT dan FROM lebih dari kata lain dalam kosakata SQL. Mereka tidak glamor seperti CREATEatau kejam seperti DROP, tetapi mereka juga sangat diperlukan untuk percakapan apapun Anda berharap untuk memiliki dengan komputer tentang pengambilan data. Dan bukankah pengambilan data alasan yang dimasukkan pegunungan informasi ke database Anda sangat mahal di tempat pertama?

Diskusi ini dimulai dengan SELECT karena sebagian besar laporan Anda juga akan mulai dengan SELECT:

Sintaks:
  SELECT <COLUMN NAMES>

Perintah, lihat juga statementsbasic SELECT tidak bisa sederhana. Namun, SELECT tidak bekerja sendirian. Jika Anda mengetik saja SELECT ke dalam sistem Anda, Anda mungkin mendapatkan respon berikut:

INPUT:
  SQL> SELECT;
OUTPUT:
  SELECT 
       * 
  ERROR pada baris 1: 
  ORA-00936: ekspresi hilang

Asterisk bawah garis menyinggung menunjukkan mana Oracle7 menganggap pelanggaran terjadi. Pesan kesalahan memberitahu Anda bahwa ada sesuatu yang hilang. sesuatu itu adalah klausaDARI:

Sintaks:
  DARI <table>

Bersama-sama, laporan SELECT dan FROM mulai membuka kekuatan di balik database Anda.


CATATAN: keywordsclausesAt titik ini Anda mungkin bertanya-tanya apa perbedaan antara kata kunci, pernyataan, dan ayat kata kunci. SQL lihat elemen SQL individu, seperti SELECTdan FROM. klausa adalah bagian dari pernyataan SQL, misalnya, SELECT column1, column2, … adalah klausa. menggabungkan klausa SQL untuk membentuk sebuah pernyataan SQL lengkap. Sebagai contoh, Anda dapat menggabungkan klausa SELECT dan klausa FROM untuk menulis pernyataan SQL.



CATATAN: Masing-masing implementasi dari SQL memiliki cara unik untuk menunjukkan kesalahan. Microsoft Query, misalnya, mengatakan tidak dapat menunjukkan permintaan, meninggalkan Anda untuk menemukan masalah. Borland’s Interbase muncul kotak dialog dengan kesalahan. Personal Oracle7, mesin yang digunakan dalam contoh sebelumnya, memberikan Anda nomor kesalahan (sehingga Anda dapat melihat penjelasan rinci dalam manual Anda) dan penjelasan singkat mengenai masalah tersebut.


Contoh

Sebelum melangkah lebih jauh, lihat di database contoh yang menjadi dasar untuk contoh-contoh berikut. Database ini mengilustrasikan fungsi dasar dari SELECT dan FROM. Dalam dunia nyata Anda akan menggunakan teknik yang dijelaskan pada Hari 8, “Memanipulasi Data,” untuk membangun database ini, tapi untuk tujuan menggambarkan cara menggunakan SELECTdan FROM,menganggap itu sudah ada. Contoh ini menggunakan tabel pemeriksaan untuk mengambil informasi tentang pemeriksaan bahwa seseorang telah menulis.

Memeriksa tabel:

 JUMLAH KOMENTAR PERIKSA Penerima Pembayaran # --------- -------------------- ------ ---------- 1 ----------- Ma Bell 150 Apakah anak waktu berikutnya 2 Reading RR 245,34 Kereta ke Chicago 3 Ma Bell Telepon Seluler 200,32 4 Lokal Utilitas 98 Gas 5 Joes basi $ Dent 150 Groceries 6 Cash 25 Wild Night Out 7 Joans Gas Gas 25,1

Permintaan Anda Pertama

INPUT:
  SQL> * pilih dari cek;
OUTPUT:
  queriesCHECK # Penerima Pembayaran JUMLAH KOMENTAR 
  ------ -------------------- ------- ----------------- ---- 

  1 Ma Bell 150 Apakah anak kali 
       2 Membaca RR 245,34 Kereta ke Chicago 
       3 Ma Bell 200,32 Telepon Seluler 
       4 Lokal Utilitas Gas 98 
       5 Joes $ Dent 150 Groceries basi 
       6 Cash 25 Wild Night Out 
       7 Joans Gas Gas 25,1 

  7 baris yang dipilih.
ANALISIS:

output ini terlihat seperti kode di contoh. Perhatikan bahwa kolom 1 dan 3 di laporan output benar-dibenarkan dan yang kolom 2 dan 4 adalah kiri-dibenarkan. Format ini mengikuti konvensi keselarasan di mana tipe data numerik benar-dibenarkan dan data karakter yang tersisa-jenis dibenarkan. Data jenis dibahas pada Hari 9, “Menciptakan dan Mempertahankan Tabel.”

Asterisk (*) dalam * pilih memberitahu database untuk mengembalikan semua kolom yang terkait dengan tabel diberikan dijelaskan dalam klausa FROM. Database menentukan urutan untuk mengembalikan kolom.

Mengakhiri sebuah Pernyataan SQL

Dalam beberapa implementasi dari SQL, titik koma pada akhir pernyataan mengatakan penafsir bahwa Anda sudah selesai menulis pertanyaan. Sebagai contoh, Oracle SQL * PLUS tidak akan mengeksekusi query sampai menemukan titik koma (atau garis miring). Di sisi lain, beberapa implementasi dari SQL tidak menggunakan titik koma sebagai sebuah terminator. Sebagai contoh, Microsoft Query dan Borland ISQL tidak memerlukan terminator, karena query Anda ketik dalam kotak edit dan dijalankan ketika Anda menekan tombol.

Mengubah Orde Kolom

Contoh sebelumnya pernyataan SQL digunakan * untuk memilih semua kolom dari tabel, urutan penampilan mereka dalam output ditentukan oleh database. Untuk menentukan urutan kolom, Anda bisa mengetik sesuatu seperti:

INPUT:
  SQL> SELECT penerima pembayaran, komentar, jumlah, cek # dari cek;

Perhatikan bahwa setiap nama kolom terdaftar di klausa SELECT. Urutan kolom terdaftar adalah urutan di mana mereka akan muncul dalam output keduanya. Perhatikan koma yang memisahkan nama kolom dan ruang antara nama kolom terakhir dan ayat berikutnya (dalam hal ini DARI). Outputnya akan terlihat seperti ini:

OUTPUT:
  Penerima Pembayaran PERIKSA # JUMLAH KOMENTAR 
  -------------------- ------------------ --------- --- ------ 
  Apakah anak Ma Bell 150 1 kali 
  Membaca Kereta RR ke Chicago 2 245,34 
  Telepon Seluler Ma Bell 200,32 3 
  Lokal Utilitas Gas 98 4 
  Joes basi Dent $ Groceries 150 5 
  Kas Wild Night Out 25 6 
  Joans Gas 25,1 7 

  7 baris yang dipilih.

Cara lain untuk menulis laporan yang sama berikut.

INPUT:
  SELECT penerima pembayaran, komentar, jumlah, cek # 
  DARI pemeriksaan;

Perhatikan bahwa klausa DARI telah dilakukan ke lini kedua. Konvensi ini adalah soal selera pribadi saat menulis kode SQL. Outputnya akan terlihat seperti ini:

OUTPUT:
  Penerima Pembayaran JUMLAH KOMENTAR PERIKSA # 
  -------------------- -------------------- --------- - ------- 
  Apakah anak Ma Bell 150 1 kali 
  Membaca Kereta RR ke Chicago 245,34 2 
  Telepon Seluler Ma Bell 200,32 3 
  Lokal Utilitas Gas 98 4 
  Joes basi Dent $ Groceries 150 5 
  Kas Wild Night Out 25 6 
  Joans Gas 25,1 7 

  7 baris yang dipilih.
ANALISIS:

Outputnya adalah identik karena hanya format pernyataan tersebut berubah. Sekarang bahwa Anda telah membuat kontrol atas urutan kolom, Anda akan dapat menentukan kolom mana yang ingin Anda lihat.

Memilih Kolom Individu

Misalkan Anda tidak ingin melihat setiap kolom dalam database. SELECT * Anda digunakan untuk mengetahui informasi apa yang tersedia, dan sekarang Anda ingin berkonsentrasi pada nomor cek dan jumlahnya. Anda mengetik

INPUT:
  SQL> SELECT CHECK #, nilai dari cek;

yang mengembalikan

OUTPUT:
  PERIKSA # JUMLAH 
  --------- --------- 
          1 150 
          2 245,34 
          3 200,32 
          4 98 
          5 150 
          6 25 
          7 25,1 

  7 baris yang dipilih.
ANALISIS:

Sekarang Anda memiliki kolom ingin Anda lihat. Perhatikan penggunaan atas dan huruf kecil-dalam query. Ini tidak mempengaruhi hasil.

Bagaimana jika Anda membutuhkan informasi dari tabel yang berbeda?

Memilih Tabel yang berbeda-beda

Misalnya, Anda memiliki tabel yang disebut SIMPANAN dengan struktur ini:

  DEPOSIT # JUMLAH WHOPAID KOMENTAR 
  -------- ---------------------- ------ -------------- ----- 
         1 Rich Uncle 200 Take off Xmas daftar 
         2 Majikan 1000 Juni 15 hari bayaran 
         3 Credit Union 500 Loan

Anda hanya akan mengubah klausa DARI ke meja yang diinginkan dan ketik pernyataan berikut:

INPUT:
  SQL> * pilih dari deposito

Hasilnya adalah

OUTPUT:
  DEPOSIT # JUMLAH WHOPAID KOMENTAR 
  -------- ---------------------- ------ -------------- ----- 
         1 Rich Uncle 200 Take off Xmas daftar 
                2 Majikan 1000 Juni 15 hari bayaran 
                3 Credit Union 500 Loan
ANALISIS:

Dengan perubahan tunggal Anda memiliki sumber data baru.

Query dengan Distinction

Jika Anda melihat di meja asli, cek, Anda melihat bahwa beberapa mengulangi data. Misalnya, jika Anda melihat kolom AMOUNTmenggunakan

INPUT:
  SQL> pilih jumlah dari cek;

Anda akan melihat

OUTPUT:
  JUMLAH 
  --------- 
        150 
     245,34 
     200,32 
         98 
        150 
         25 
       25,1

Perhatikan bahwa jumlah 150 diulang. Bagaimana jika Anda ingin melihat bagaimana mungkin jumlah yang berbeda ada di kolom ini? Coba ini:

INPUT:
  SQL> pilih jumlah yang berbeda dari cek;

Hasil akan

OUTPUT:
  JUMLAH 
  --------- 
         25 
       25,1 
         98 
        150 
     200,32 
     245,34 

  6 baris yang dipilih.
ANALISIS:

Perhatikan bahwa hanya enam baris yang dipilih. Karena Anda ditentukan berbeda, hanya satu contoh dari data digandakan ditampilkan, yang berarti bahwa satu baris kurang dikembalikan.SEMUA adalah suatu kata kunci yang tersirat dalam laporan dasar SELECT. Anda hampir tak pernah melihat PILIH SEMUA karena <table> dan PILIH SEMUA <table> memiliki hasil yang sama.

Coba contoh ini – untuk pertama (dan satu-satunya!) Kali dalam karir SQL Anda:

INPUT:
  SQL> SELECT ALL AMOUNT 
    2 dari pemeriksaan;
OUTPUT:
  JUMLAH 
  --------- 
        150 
     245,34 
     200,32 
         98 
        150 
         25 
       25,1 

  7 baris yang dipilih.

Ini adalah sama dengan <Column> SELECT. Siapa yang memerlukan ekstra keystrokes?

Ringkasan

Kata kunci SELECT dan FROM memungkinkan query untuk mengambil data dan. Anda dapat membuat pernyataan yang luas meliputi seluruh tabel dengan pernyataan SELECT *, atau Anda dapat mengatur ulang atau mengambil tabel tertentu. Yang jelas kata kunci batas-batas keluaran, sehingga Anda tidak melihat duplikasi nilai dalam kolom. Besok Anda belajar bagaimana membuat pertanyaan Anda lebih selektif.

Sumber ; http://www.webbasedprogramming.com