deskripsi dan contoh operator sql. pernyataan sql

Pernyataan SQL dasar. Sintaks dan contoh penggunaan pernyataan SELECT.

Dasar dari bahasa SQL terdiri dari operator, yang secara kondisional dibagi menjadi beberapa kelompok sesuai dengan fungsi yang dijalankannya.

Kelompok operator berikut dapat dibedakan (tidak semua operator SQL terdaftar):

Pernyataan DDL (Data Definition Language) - pernyataan untuk mendefinisikan objek database

· BUAT SKEMA - membuat skema database

· DROP SHEMA - menghapus skema database

· BUAT TABEL - membuat tabel

ALTER TABLE - mengubah tabel

· DROP TABLE - menghapus tabel

· BUAT DOMAIN - membuat domain

ALTER DOMAIN - ubah domain

· DROP DOMAIN - menghapus domain

· BUAT COLLATION - membuat urutan

· DROP COLLATION - menghapus urutan

· BUAT TAMPILAN - membuat tampilan

· DROP VIEW - menghapus tampilan

Operator DML (Bahasa Manipulasi Data) - operator manipulasi data

· PILIH - pilih baris dari tabel

· INSERT - menambahkan baris ke tabel

· UPDATE - mengubah baris dalam tabel

· DELETE - menghapus baris dalam tabel

· COMMIT - melakukan perubahan yang dilakukan

· ROLLBACK - memutar kembali perubahan yang dilakukan

Operator perlindungan dan manajemen data

· BUAT ASSERSI - buat batasan

· DROP ASSERTION - menghapus batasan

· GRANT - memberikan hak istimewa kepada pengguna atau aplikasi untuk memanipulasi objek

REVOKE - mencabut hak pengguna atau aplikasi

Pada saat yang sama, terdapat kelompok operator untuk mengatur parameter sesi, memperoleh informasi tentang database, operator SQL statis, dan operator SQL dinamis.

Yang paling penting bagi pengguna adalah pernyataan manipulasi data (DML).

Contoh penggunaan operator manipulasi data

INSERT - memasukkan baris ke dalam tabel

Contoh 1. Memasukkan satu baris ke dalam tabel:

NILAI(4, "Ivanov");

UPDATE - memperbarui baris dalam tabel

Contoh 3. Memperbarui beberapa baris dalam sebuah tabel:

SET PNAME = "Pushnikov"

DIMANA P.PNUM = 1;

DELETE - menghapus baris dalam tabel

Contoh 4. Menghapus beberapa baris dalam sebuah tabel:

DIMANA P.PNUM = 1;

Contoh penggunaan pernyataan SELECT

Pernyataan SELECT sebenarnya adalah pernyataan SQL yang paling penting bagi pengguna dan paling kompleks. Ini dirancang untuk mengambil data dari tabel, ᴛ.ᴇ. sebenarnya, ini mengimplementasikan salah satu tujuan dasar database - untuk memberikan informasi kepada pengguna.

Pernyataan SELECT selalu dijalankan pada beberapa tabel yang merupakan bagian dari database.

Komentar. Faktanya, dalam database tidak hanya terdapat tabel yang disimpan secara permanen, tetapi juga tabel sementara dan yang disebut tampilan. Tampilan hanyalah ekspresi SELECT yang disimpan dalam database. Dari sudut pandang pengguna, view adalah tabel yang tidak disimpan secara permanen di database, tetapi “muncul” saat diakses. Dari sudut pandang pernyataan SELECT, tabel persisten dan tabel serta tampilan sementara terlihat persis sama. Tentu saja, ketika sistem benar-benar mengeksekusi pernyataan SELECT, perbedaan antara tabel dan tampilan yang disimpan akan diperhitungkan, namun perbedaan ini tersembunyi dari pengguna.

Hasil dari pernyataan SELECT selalu berupa tabel. Namun berdasarkan hasil tindakannya, pernyataan SELECT mirip dengan operator aljabar relasional. Setiap operator aljabar relasional harus dinyatakan dengan pernyataan SELECT dengan kata-kata yang sesuai. Kompleksitas pernyataan SELECT ditentukan oleh fakta bahwa pernyataan tersebut berisi semua kemungkinan aljabar relasional, serta fitur tambahan, yang tidak ada dalam aljabar relasional.

Perintah Eksekusi Pernyataan SELECT

Untuk memahami bagaimana hasil eksekusi pernyataan SELECT diperoleh, perhatikan diagram konseptual eksekusinya. Skema ini murni konseptual, karena dijamin hasilnya akan sama seperti jika dilakukan selangkah demi selangkah sesuai skema ini. Faktanya, hasil sebenarnya diperoleh dengan algoritma yang lebih canggih yang “dimiliki” oleh DBMS tertentu.

Tahap 1: Mengeksekusi Pernyataan SELECT Tunggal

Jika operator berisi kata kunci UNION, EXCEPT dan INTERSECT, kueri dibagi menjadi beberapa kueri independen, yang masing-masing dijalankan secara terpisah:

Langkah 1 (DARI). Produk Cartesian langsung dari semua tabel yang ditentukan di bagian FROM wajib dihitung. Sebagai hasil dari langkah 1, kita memperoleh tabel A.

Langkah 2 (DIMANA). Jika pernyataan SELECT berisi klausa WHERE, maka tabel A yang diperoleh pada langkah 1 dipindai.Dalam hal ini, untuk setiap baris dari tabel A, ekspresi kondisi yang diberikan dalam klausa WHERE dihitung. Hanya baris-baris yang ekspresi kondisionalnya mengembalikan TRUE yang disertakan dalam hasil. Jika bagian WHERE dihilangkan, maka segera lanjutkan ke langkah 3. Jika subkueri bertingkat terlibat dalam ekspresi kondisional, maka subkueri tersebut dihitung sesuai dengan skema konseptual ini. Sebagai hasil dari langkah 2, kita memperoleh tabel B.

Langkah 3 (KELOMPOKKAN BERDASARKAN). Jika pernyataan SELECT berisi bagian GROUP BY, maka baris-baris tabel B yang diperoleh pada langkah kedua dikelompokkan sesuai dengan daftar pengelompokan yang diberikan pada bagian GROUP BY. Jika bagian GROUP BY dihilangkan, maka langsung lanjutkan ke langkah 4. Dari hasil langkah 3 diperoleh tabel C.

Langkah 4 (MEMILIKI). Jika pernyataan SELECT berisi bagian HAVING, maka grup yang tidak memenuhi ekspresi kondisi yang diberikan di bagian HAVING akan dikecualikan. Jika bagian HAVING dihilangkan, maka langsung lanjutkan ke langkah 5. Dari hasil langkah 4 diperoleh tabel D.

Langkah 5 (PILIH). Setiap kelompok yang diperoleh pada langkah 4 menghasilkan satu baris hasil sebagai berikut. Semua ekspresi skalar yang ditentukan di bagian SELECT dievaluasi. Menurut aturan penggunaan klausa GROUP BY, ekspresi skalar tersebut harus sama untuk semua baris dalam setiap grup. Untuk setiap grup, nilai fungsi agregat yang diberikan di bagian SELECT dihitung. Jika tidak ada bagian GROUP BY, tetapi terdapat fungsi agregat pada bagian SELECT, maka dianggap hanya ada satu grup. Jika tidak ada bagian GROUP BY atau fungsi agregat, maka jumlah grup dianggap sama banyaknya dengan jumlah baris yang dipilih saat ini. Sebagai hasil dari langkah 5, kita memperoleh tabel E, yang berisi kolom sebanyak jumlah elemen yang terdaftar di bagian SELECT dan baris sebanyak jumlah grup yang dipilih.

Tahap 2. Melakukan operasi UNION, KECUALI, INTERSECT

Jika pernyataan SELECT mengandung kata kunci UNION, EXCEPT dan INTERSECT, maka tabel-tabel yang diperoleh dari hasil tahap 1 digabung, dikurangi atau dipotongan.

Tahap 3. Mengurutkan hasilnya

Jika pernyataan SELECT berisi bagian ORDER BY, maka baris-baris tabel yang diperoleh pada langkah sebelumnya diurutkan sesuai dengan daftar pengurutan yang diberikan di bagian ORDER BY.

Pernyataan SQL dasar. Sintaks dan contoh penggunaan pernyataan SELECT. - konsep dan tipe. Klasifikasi dan fitur kategori "Operator SQL dasar. Sintaks dan contoh penggunaan operator SELECT." 2017, 2018.

Pertanyaan No.1. SQL dan sejarahnya. 1

Pertanyaan No.2. Deskripsi pernyataan SQL dasar.. 1

Fungsi aritmatika. 4

Fungsi pemrosesan string. 5

Fungsi khusus. 6

Fungsi untuk pemrosesan tanggal... 7

Menggunakan fungsi agregat dalam kueri. 7

Pertanyaan No.1. SQL dan sejarahnya

Satu-satunya sarana komunikasi antara administrator basis data, perancang, pengembang, dan pengguna dengan basis data relasional adalah bahasa kueri terstruktur SQL (Structured Query Language). SQL adalah bahasa berfitur lengkap untuk memanipulasi data dalam database relasional. Saat ini, ini merupakan antarmuka standar yang diterima secara umum untuk database relasional seperti Oracle, Informix, Sybase, DB/2, MS SQLServer dan sejumlah lainnya (standar ANSI dan ISO). SQL adalah bahasa non-prosedural yang dirancang untuk memproses kumpulan yang terdiri dari baris dan kolom tabel database relasional. Meskipun ada ekstensi yang memungkinkan pemrosesan prosedural. Perancang basis data menggunakan SQL untuk membuat semua objek fisik dari basis data relasional.

Landasan teori SQL didirikan pada artikel terkenal oleh Codd, yang meletakkan dasar bagi pengembangan teori database relasional. Implementasi praktik pertama dilakukan di laboratorium penelitian IBM Chamberlin D.D. dan Royce R.F. Penggunaan SQL dalam industri pertama kali diimplementasikan di Ingres DBMS. Salah satu DBMS relasional industri pertama adalah Oracle. Pada dasarnya, DBMS relasional adalah perangkat lunak, yang mengontrol pengoperasian database relasional.

Pertama standar internasional Bahasa SQL diadopsi pada tahun 1989 (SQL-89). Pada akhir tahun 1992, standar internasional baru, SQL-92, diadopsi. Saat ini, sebagian besar produsen DBMS relasional menggunakannya sebagai basis. Namun, upaya untuk menstandardisasi bahasa SQL masih jauh dari selesai dan rancangan standar SQL-99 telah dikembangkan, yang memperkenalkan konsep objek ke dalam bahasa tersebut dan memungkinkannya untuk direferensikan dalam pernyataan SQL: Dalam versi asli SQL tidak ada perintah kontrol aliran data, perintah tersebut muncul di ISO/IEC 9075-5: 1996 Bagian Tambahan SQL yang baru diadopsi.

Setiap DBMS tertentu memiliki implementasi SQL sendiri, yang umumnya mendukung standar tertentu, namun memiliki karakteristik tersendiri. Implementasi ini disebut dialek. Dengan demikian, standar 1SO/IEC 9075-5 menyediakan objek yang disebut modul tersimpan persisten atau modul PSM (Modul Tersimpan Persisten). Dalam Oracle DBMS, ekstensi PL/SQL merupakan analog dari ekstensi standar di atas."

Pertanyaan No.2. Deskripsi pernyataan SQL dasar

SQL terdiri dari sekumpulan perintah untuk memanipulasi data dalam database relasional, yang memungkinkan Anda membuat objek database relasional, mengubah data dalam tabel (memasukkan, menghapus, memperbaiki), mengubah skema hubungan database, melakukan penghitungan pada data, membuat pilihan dari database, menjaga keamanan dan integritas data.

Seluruh rangkaian perintah SQL dapat dibagi menjadi beberapa kelompok berikut:

· perintah definisi data (DDL - Bahasa Definisi Data);

· perintah manipulasi data (DML - Bahasa Manipulasi Data);

· perintah pengambilan sampel data (DQL - Data Query Language);

· perintah manajemen transaksi;

· perintah manajemen data.

Saat dijalankan, setiap perintah SQL melewati empat fase pemrosesan:

· fase penguraian, yang meliputi pemeriksaan sintaks perintah, pemeriksaan nama tabel dan kolom dalam database, dan penyiapan data masukan untuk pengoptimal;

· Fase optimasi, yang melibatkan penggantian nama tabel dan kolom database yang valid ke dalam tampilan, identifikasi pilihan yang memungkinkan pelaksanaan suatu perintah, menentukan biaya pelaksanaan setiap opsi, memilih opsi terbaik berdasarkan statistik internal;

· fase pembuatan kode yang dapat dieksekusi, yang mencakup pembuatan kode perintah yang dapat dieksekusi;

· fase eksekusi perintah, yang melibatkan eksekusi kode perintah.

Saat ini pengoptimal merupakan bagian integral dari implementasi SQL industri apa pun. Pekerjaan pengoptimal didasarkan pada pengumpulan statistik tentang perintah yang dijalankan dan pelaksanaan yang setara transformasi aljabar dengan hubungan basis data. Statistik ini disimpan dalam direktori database sistem. Katalog sistem adalah kamus data untuk setiap database dan berisi informasi tentang tabel, tampilan, indeks, kolom, pengguna dan hak aksesnya. Setiap database memiliki katalog sistemnya sendiri, yang mewakili kumpulan tabel database yang telah ditentukan sebelumnya.

Tabel 8.1 berisi daftar perintah SQL menurut standar yang diterima, dengan pengecualian beberapa perintah yang praktis tidak digunakan dalam dialek.

Tabel 8.1. Daftar khas perintah SQL

Tim Keterangan
Perintah untuk mendefinisikan data objek
MENGUBAH TABEL Mengubah deskripsi tabel (skema hubungan)
MEMBUAT ACARA Membuat acara pengatur waktu di database
BUAT INDEKS Membuat indeks pada tabel
BUAT URUTAN Membuat urutan
BUAT TABEL Mendefinisikan sebuah tabel
BUAT RUANG TABEL Akan membuat tablespace
BUAT PEMICU Membuat pemicu di database
BUAT TAMPILAN Mendefinisikan tampilan pada tabel
JATUHKAN INDEKS Menghapus indeks dari database secara fisik
JATUHKAN URUTAN Menghapus urutan
JATUHKAN MEJA Menghapus tabel secara fisik dari database
JATUHKAN RUANG TABEL Menghapus tablespace
JATUH LIHAT Menghapus tampilan
Perintah Manipulasi Data
MENGHAPUS Menghapus satu atau lebih baris dari tabel database
MENYISIPKAN Menyisipkan satu atau lebih baris ke dalam tabel database
MEMPERBARUI Memperbarui nilai kolom dalam tabel database
Perintah Pengambilan Data
PILIH Menjalankan kueri untuk mengambil data dari tabel dan tampilan
PERSATUAN Menggabungkan hasil dari dua atau lebih perintah SELECT menjadi satu pilihan
Perintah Kontrol Transaksi
MELAKUKAN Menyelesaikan transaksi dan secara fisik memperbarui status database saat ini
KEMBALI Mengakhiri transaksi dan mengembalikan status database saat ini pada saat transaksi dan pos pemeriksaan terakhir diselesaikan
SAVEPOINT Menetapkan pos pemeriksaan dalam suatu transaksi
Perintah Manajemen Data
MENGUBAH DATABASE Memodifikasi grup penyimpanan atau log transaksi
MENGUBAH DBAREA Mengubah ukuran area penyimpanan database
MENGUBAH KATA SANDI Mengubah kata sandi untuk mengakses database
MENGUBAH STOGROUP Mengubah komposisi area penyimpanan dalam grup penyimpanan
PERIKSA DATABASE Memeriksa integritas basis data
PERIKSA INDEKS Memeriksa integritas indeks
PERIKSA TABEL Memeriksa integritas tabel dan indeks
BUAT DATABASE Membuat database secara fisik
BUAT DBAREA Membuat tempat penyimpanan database
BUAT GRUP STOGUP Membuat grup penyimpanan
BUAT SISNONIM Membuat sinonim untuk tabel atau tampilan
DEINSTALL DATABASE Membuat database tidak dapat diakses oleh pengguna jaringan
JATUHKAN DATABASE Menghapus database secara fisik
JATUHKAN DBAREA Menghapus area penyimpanan database secara fisik
JATUHKAN STOGROUP Menghapus grup penyimpanan
MENGANUGERAHKAN Mendefinisikan hak istimewa pengguna dan kontrol akses ke database
PASANG DATABASE Membuat database tersedia untuk pengguna jaringan
KUNCI DATABASE Mengunci database yang sedang aktif
MENARIK KEMBALI Mencabut hak istimewa pengguna dan pembatasan akses basis data
SETEL STOGROUP DEFAULT Menentukan grup penyimpanan default
BUKA DATABASE Merilis database yang sedang aktif
PERBARUI STATISTIK Memperbarui statistik untuk database
Perintah lainnya
BERKOMENTAR TENTANG Menempatkan komentar pada deskripsi objek database dalam katalog sistem
BUAT SINONIM Mendefinisikan nama alternatif untuk tabel dan tampilan database dalam katalog sistem
JATUHKAN SINONIM Menghapus nama alternatif untuk tabel dan tampilan database dari katalog sistem
LABEL Mengubah label deskripsi sistem
JUMLAH BARIS Menghitung jumlah baris dalam tabel database

Kumpulan perintah SQL yang tercantum dalam tabel tidak lengkap. Daftar ini disediakan untuk memberi Anda gambaran tentang apa yang dapat dilakukan SQL secara umum. Untuk daftar lengkap perintah, silakan merujuk ke manual yang sesuai untuk DBMS spesifik Anda. Perlu diingat bahwa SQL adalah satu-satunya alat komunikasi untuk semua kategori pengguna dengan database relasional.

Fungsi aritmatika

SQL mendukung serangkaian operasi aritmatika dan fungsi matematika untuk membuat ekspresi aritmatika pada kolom database (+, -, *, /, ABS, LN, SQRT, dll.).

Daftar fungsi matematika bawaan utama diberikan di bawah ini pada Tabel 8.2.

Fungsi matematika Keterangan
ABS(X) Mengembalikan nilai absolut dari angka X
ACOS(X) Mengembalikan arc cosinus dari angka X
ASIN(X) Mengembalikan arcsinus dari angka X
ATAN(X) Mengembalikan arctangent dari X
KARENA(X) Mengembalikan kosinus angka X
EXP(X) Mengembalikan eksponen angka X
TANDA(X) Mengembalikan -] jika X< 0, 0, если X = 0, + 1, если X > 0
LN(X) Mengembalikan logaritma natural dari angka X
MOD(X,Y) Mengembalikan sisanya ketika X dibagi Y
CEIL(X) Mengembalikan bilangan bulat terkecil yang lebih besar dari atau sama dengan X
PUTARAN(X,n) Membulatkan angka X menjadi angka dengan n tempat setelah koma
DOSA(X) Mengembalikan sinus X
persegi(x) Mengembalikan akar kuadrat dari angka X
TAN(X) Mengembalikan garis singgung X
LANTAI(X) Mengembalikan bilangan bulat terbesar yang kurang dari atau sama dengan X
CATATAN(a,X) Mengembalikan logaritma bilangan X ke basis A
SINH(X) Mengembalikan sinus hiperbolik X
COSH(X) Mengembalikan kosinus hiperbolik angka X
TANH(X) Mengembalikan tangen hiperbolik X
TRANS(X.n) Memotong angka X menjadi angka dengan n tempat desimal
KEKUATAN (A, X) Mengembalikan nilai A yang dipangkatkan X

Kumpulan fungsi bawaan dapat bervariasi tergantung pada versi DBMS dari satu pabrikan dan juga pada DBMS dari pabrikan berbeda . Misalnya, dalam DBMS SQLBase, Century Inc. Ada fungsi @ATAN2(X,Y), yang mengembalikan tangen busur Y/X, namun tidak ada fungsi SIGN(X).

Ekspresi aritmatika diperlukan untuk memperoleh data yang tidak langsung disimpan dalam kolom tabel database, tetapi nilainya dibutuhkan oleh pengguna. Katakanlah Anda memerlukan daftar karyawan yang menunjukkan gaji yang diterima setiap karyawan, termasuk bonus dan denda.

PILIH ENAME, SAL, KOM. BAIK, SAL + KOM - BAIK

Ekspresi aritmatika SAL + COMM - FINE dikeluarkan sebagai kolom baru di tabel hasil, yang dihitung sebagai hasil kueri. Kolom seperti itu disebut juga atribut turunan (dihitung). atau bidang.

Fungsi pemrosesan string

SQL memberi Anda berbagai fungsi untuk memanipulasi data string (penggabungan string, CHR, LENGTH, INSTR, dan lainnya). Daftar fungsi utama untuk memproses data string diberikan pada Tabel 8.3.

Tabel 8.3. Fungsi SQL untuk Pemrosesan String

Fungsi Keterangan
CHR(N) Mengembalikan karakter kode ASCII untuk kode desimal N
ASCII(S) Mengembalikan kode ASCII desimal dari karakter pertama string
INSTR(S2,SI,pos|,N|) Mengembalikan posisi string SI pada string S2 yang lebih besar atau sama dengan pos. N - jumlah kemunculan
PANJANG Mengembalikan panjang string
LEBIH RENDAH Mengganti semua karakter dalam string dengan karakter huruf besar
INITCAP(S) Menetapkan karakter pertama setiap kata dalam string menjadi huruf besar dan karakter sisa setiap kata menjadi huruf besar
SUBSTR(S,pos,[,len|) Memilih substring dengan panjang sepuluh pada string S, dimulai dari posisi pos
ATAS Mengonversi huruf kapital dalam string menjadi huruf besar
LPAD(S,N |,A|) Mengembalikan string S yang diisi kiri dengan karakter A hingga maksimum N. Karakter pengisi default adalah spasi.
RPAD(S,N |,A]) Mengembalikan string S yang diisi dengan karakter A hingga maksimum N. Karakter padding default adalah spasi.
LTRIM(S,|,Sll) Mengembalikan string S yang terpotong kiri. Karakter dihapus selama karakter yang akan dihapus ada dalam string - pola SI (default adalah spasi)
RTRIM(S,|,SI |) Mengembalikan string S yang terpotong kanan. Karakter dihapus selama karakter yang akan dihapus ada dalam string - pola S1 (default adalah spasi)
TERJEMAHAN,(SI,S2) Mengembalikan string S dengan semua kemunculan string SI digantikan oleh string S2. Jika S.I.<>S2, maka karakter yang tidak cocok dikeluarkan dari string yang dihasilkan
DIGANTI(SI,|,S2|) Mengembalikan string S yang seluruh kemunculan substring SI diganti dengan substring S2. Jika S2 tidak ditentukan, maka semua kemunculan substring SI akan dihapus dari string yang dihasilkan S
NVL(X,Y) Jika X adalah NULL, maka mengembalikan Y berupa string, angka, atau tanggal, bergantung pada tipe asli Y

Nama fungsi yang sama mungkin berbeda di DBMS yang berbeda. Misalnya, fungsi Oracle DBMS SUBSTR(S, pos, |, len|) di DBMS SQLBase disebut @SUBSTRING(S, pos, Ien). DBMS SQLBase memiliki fungsi yang tidak tersedia di DBMS Oracle (lihat tabel di bawah untuk daftar fungsi tersebut).

Tabel 8.4. Fungsi string SQLBase DBMS yang berbeda dari fungsi string Oracle DBMS

Fungsi Keterangan
@PERSIS(SI,S2) Mengembalikan hasil membandingkan dua string
@KIRI(S,lcn) Mengembalikan substring kiri dengan panjang len
@PANJANG(S) Mengembalikan panjang string
@MID(S, pos, len) Mengembalikan substring dengan panjang yang ditentukan, dimulai dari posisi pos
@ULANG(S,n) Mengulangi string S n kali
@REPLACE(SI,pos,len,S2) Ganti posisi karakter pos len pada string S2 dengan karakter pada string SI
@KANAN(S,len) Mengembalikan substring kanan S dengan panjang len
@SCAN(S,tepuk) Mengembalikan posisi pat substring pada string S
@STRING(X, skala) Mengembalikan representasi simbolis dari angka dengan skala yang ditentukan
@TRIM(S) Menghapus spasi dari kanan dan kiri string
@VALUE(S) Mengonversi representasi simbolik angka menjadi nilai numerik

Anda dapat menggunakan fungsi INITCAP untuk memastikan bahwa, ketika mengambil daftar nama karyawan, nama belakang selalu dimulai dengan huruf kapital dan semua nama lainnya menggunakan huruf kapital.

PILIH INITCAP(ENAME)

Fitur spesial

SQL menyediakan serangkaian fungsi khusus untuk mengubah nilai kolom. Daftar fungsi tersebut diberikan pada Tabel 8.5.

Tabel 8.5. Fitur spesial

Pada tabel EMPLOYEE, Anda dapat memasukkan atribut gender untuk setiap karyawan - tambahkan kolom SEX dengan tipe CHAR(l) (0 - pria, 1 - wanita). Katakanlah Anda memerlukan daftar karyawan, yang mengharuskan mereka dibagi berdasarkan jenis kelamin dan ditunjukkan dalam format numerik; maka Anda dapat mengeluarkan perintah berikut:

PILIH ENAME, LNAME, USIA, " Lantai:", TO_NUMBER(Jenis Kelamin)

Sebagai contoh penggunaan fungsi DECODE, kami menyajikan kueri yang menghitung daftar karyawan yang menunjukkan manajer mereka. Jika pengelolanya tidak dikenal, maka “tidak punya” ditampilkan secara default.

PILIH ENAME, DEC0DE(DEPN0, 10, " keringkan", 20,"Zhilyaeva". 30,"

Korotkov", "tidak memiliki")

Mari kita asumsikan bahwa kepala organisasi memilikinya belum diartikan kolom DEPNO dan oleh karena itu default yang disediakan di DECODE akan berfungsi untuk itu .


©2015-2019 situs
Semua hak milik penulisnya. Situs ini tidak mengklaim kepenulisan, tetapi menyediakan penggunaan gratis.
Tanggal pembuatan halaman: 07-08-2016

Standar bahasa SQL diadopsi pada tahun 1992 dan masih digunakan sampai sekarang. Hal inilah yang menjadi standar bagi banyak orang.Tentu saja, beberapa produsen menggunakan interpretasi standar mereka sendiri. Tetapi sistem apa pun masih memiliki komponen utama - pernyataan SQL.

Perkenalan

Menggunakan pernyataan SQL, nilai dan tabel dikelola dan diperoleh untuk analisis dan tampilan lebih lanjut. Mereka adalah sekumpulan kata kunci yang digunakan sistem untuk memahami apa yang harus dilakukan dengan data.

Beberapa kategori pernyataan SQL didefinisikan:

  • mendefinisikan objek database;
  • manipulasi nilai;
  • perlindungan dan pengendalian;
  • parameter sesi;
  • informasi tentang basis data;
  • SQL statis;
  • SQL dinamis.

Pernyataan SQL untuk manipulasi data

MENYISIPKAN. Menyisipkan baris ke dalam tabel yang sudah ada. Ini dapat digunakan baik untuk satu nilai, atau untuk beberapa nilai, ditentukan oleh kondisi tertentu. Misalnya:

nama tabel (nama kolom 1, nama kolom 2)

NILAI(nilai 1, nilai 2).

Untuk menggunakan pernyataan INSERT pada beberapa nilai, sintaksnya adalah:

nama tabel 1 (nama kolom 1, nama kolom 2)

PILIH nama kolom 1, nama kolom 2

DARI nama tabel 2

WHERE nama tabel 2.nama kolom 1>2

Kueri ini akan memilih semua data dari tabel 2 yang lebih besar dari 2 di kolom 1 dan memasukkannya ke yang pertama.

MEMPERBARUI. Sesuai dengan namanya, pernyataan query SQL ini memperbarui data dalam tabel yang ada sesuai dengan atribut tertentu.

PERBARUI nama tabel 1

SET nama kolom 2 = "Vasily"

WHERE nama tabel 1.nama kolom 1 = 1

Konstruksi ini akan mengisi dengan nilai Vasily semua baris yang bertemu dengan angka 1 pada kolom pertama.

Data dari tabel. Anda dapat menentukan kondisi apa pun atau menghapus semua baris.

HAPUS DARI nama tabel

WHERE nama tabel.nama kolom 1 = 1

Kueri di atas akan menghapus semua data dari database dengan nilai satu di kolom pertama. Berikut cara menghapus seluruh tabel:

pernyataan PILIH

Tujuan utama SELECT adalah memilih data menurut kondisi tertentu. Hasil karyanya selalu berupa tabel baru dengan data terpilih. Operator MS dapat digunakan dalam berbagai query yang berbeda. Oleh karena itu, bersamaan dengan itu, Anda dapat mempertimbangkan kata kunci terkait lainnya.

Untuk memilih semua data dari tabel tertentu, gunakan tanda “*”.

DARI nama tabel 1

Hasil dari kueri ini adalah salinan persisnya Tabel 1.

Dan di sini pemilihan dilakukan menggunakan kondisi WHERE, yang mengambil dari tabel 1 semua nilai yang lebih besar dari 2 di kolom 1.

DARI nama tabel 1

WHERE nama tabel 1.nama kolom 1 > 2

Anda juga dapat menentukan dalam pilihan bahwa hanya kolom tertentu yang diperlukan.

PILIH nama tabel 1.nama kolom 1

DARI nama tabel 1

Hasil dari kueri ini adalah semua baris dengan nilai dari kolom 1. Dengan menggunakan pernyataan MS SQL, Anda dapat membuat tabel sendiri, mengganti, menghitung, dan mengganti nilai tertentu dengan cepat.

nama tabel 1. nama kolom 1

nama tabel 1. nama kolom 2

nama tabel 1.nama kolom 3

nama tabel 1.nama kolom 2 * nama tabel 1.nama kolom 3 SEBAGAI SUMMA

DARI nama tabel 1

Kueri yang tampaknya rumit ini mengambil semua nilai dari Tabel 1, lalu membuat kolom baru EQ dan SUMMA. Memasukkan tanda “+” pada kolom pertama, dan hasil perkalian data kolom 2 dan 3 pada kolom kedua.Hasilnya dapat disajikan dalam bentuk tabel, untuk memahami cara kerjanya:

Saat menggunakan pernyataan SELECT, Anda dapat langsung mengurutkan data berdasarkan beberapa atribut. Kata ORDER BY digunakan untuk ini.

nama tabel 1. nama kolom 1

nama tabel 1. nama kolom 2

nama tabel 1.nama kolom 3

DARI nama tabel 1

ORDER BY nama kolom 2

Tabel yang dihasilkan akan terlihat seperti ini:

Artinya, semua baris diatur sedemikian rupa sehingga nilai di kolom 2 berada dalam urutan menaik.

Data juga dapat diperoleh dari beberapa tabel. Untuk lebih jelasnya, pertama-tama Anda perlu membayangkan ada dua di antaranya di database, kira-kira seperti ini:

Tabel "Karyawan"

Tabel "Gaji"

Sekarang Anda perlu menghubungkan kedua tabel ini untuk mendapatkannya nilai-nilai umum. Dengan menggunakan pernyataan SQL dasar, Anda dapat melakukan ini seperti ini:

Karyawan.Nomor

Nama karyawan

Gaji. Tarif

Gaji. Masih harus dibayar

DARI Karyawan, Gaji

DIMANA Karyawan.Nomor = Gaji.Nomor

Di sini terdapat pilihan dari dua tabel nilai berbeda, disatukan berdasarkan angka. Hasilnya adalah kumpulan data berikut:

Sedikit lebih banyak tentang PILIH. Menggunakan fungsi agregat

Salah satu operator utama mungkin melakukan beberapa perhitungan pada pengambilan. Untuk melakukan ini, ia menggunakan fungsi dan rumus tertentu.

Misalnya, untuk mendapatkan jumlah catatan dari tabel "Karyawan", Anda perlu menggunakan kueri:

PILIH JUMLAH (*) SEBAGAI N

DARI Karyawan

Hasilnya adalah tabel dengan satu nilai dan satu kolom.

Anda dapat menggunakan kueri ini dan melihat apa yang terjadi:

SUM(Gaji. Masih Harus Dibayar) SEBAGAI SUMMA

MAX(Gaji. Masih Harus Dibayar) SEBAGAI MAX

MIN (Gaji. Masih Harus Dibayar) SEBAGAI MIN

AVG (Gaji. Masih Harus Dibayar) SEBAGAI SRED

DARI Gaji

Tabel terakhir akan terlihat seperti ini:

Dengan cara ini, Anda dapat memilih nilai yang diinginkan dari database, menghitung berbagai fungsi dengan cepat.

Persatuan, persimpangan dan perbedaan

Gabungkan beberapa kueri dalam SQL

PILIH Karyawan.Nama

DARI Karyawan

DIMANA Karyawan.Nomor = 1

PILIH Karyawan.Nama

DARI Karyawan, Gaji

DIMANA Gaji.Nomor = 1

Perlu diingat bahwa dengan penyatuan seperti itu, tabel harus kompatibel. Artinya, memiliki jumlah kolom yang sama.

Sintaks pernyataan SELECT dan urutan pemrosesan

Hal pertama yang dilakukan SELECT adalah menentukan area dari mana data akan diambil. Untuk tujuan ini digunakan kata kunci DARI. Jika tidak disebutkan apa yang harus dipilih.

Maka klausa SQL WHERE mungkin ada. Dengan bantuannya, SELECT menjalankan semua baris tabel dan memeriksa kepatuhan data dengan kondisi.

Jika kueri berisi GROUP BY, maka nilainya dikelompokkan berdasarkan parameter yang ditentukan.

Operator untuk membandingkan data

Ada beberapa jenis. Dalam operator perbandingan SQL dapat memeriksa Berbagai jenis nilai-nilai.

    "=". Menunjukkan, seperti yang Anda duga, persamaan dua ekspresi. Misalnya sudah digunakan pada contoh di atas - WHERE Gaji.Nomor = 1.

    ">". Tanda lebih lanjut. Jika nilai sisi kiri ekspresi lebih besar, maka logika TRUE dikembalikan dan kondisi dianggap terpenuhi.

    «<». Знак меньше. Обратный предыдущему оператор.

    Tanda-tanda "<=» и «>=". Berbeda dengan operator more and less sederhana, jika operannya sama, maka kondisinya juga akan benar.

MENYUKAI

Kata kunci ini dapat diterjemahkan sebagai “serupa”. Operator LIKE di SQL digunakan dengan cara yang kira-kira sama - operator ini mengeksekusi kueri berdasarkan templat. Artinya, ini memungkinkan Anda untuk memperluas pilihan data dari database menggunakan ekspresi reguler.

Misalnya, tugas berikut telah ditetapkan: dari database “Karyawan” yang sudah dikenal, dapatkan semua orang yang namanya diakhiri dengan “I”. Maka querynya bisa ditulis seperti ini:

DARI Karyawan

DIMANA Nama SEPERTI `%i`

Tanda persen dalam hal ini berarti topeng, yaitu karakter apa saja dan nomornya. Dan dengan huruf “I”, SQL akan menentukan bahwa karakter terakhir harus persis seperti ini.

KASUS

Pernyataan SQL Server ini merupakan implementasi dari pilihan ganda. Ini mengingatkan pada konstruksi saklar di banyak bahasa pemrograman. Pernyataan CASE di SQL melakukan tindakan berdasarkan beberapa kondisi.

Misalnya, Anda perlu memilih nilai maksimum dan minimum dari tabel “Gaji”.

Maka querynya bisa ditulis seperti ini:

DARI Gaji

DI MANA KASUS KETIKA PILIH MAX(Accrued) MAKA Maksimum

KETIKA PILIH MIN (Masih harus dibayar) MAKA Minimum

Dalam konteks ini, sistem mencari nilai maksimum dan minimum pada kolom Accrued. Kemudian, dengan menggunakan END, kolom “total” dibuat, di mana “Maksimum” atau “Minimum” akan dimasukkan, tergantung pada hasil kondisinya.

Omong-omong, SQL juga memiliki bentuk CASE - COALESCE yang lebih ringkas.

Operator Definisi Data

Tampilan ini memungkinkan Anda melakukan berbagai modifikasi pada tabel - membuat, menghapus, memodifikasi, dan bekerja dengan indeks.

Yang pertama patut dipertimbangkan adalah CREATE TABLE. Itu tidak lebih dari membuat tabel. Jika Anda cukup mengetikkan kueri CREATE TABLE, tidak akan terjadi apa-apa, karena Anda masih perlu menentukan beberapa parameter.

Misalnya, untuk membuat tabel “Karyawan” yang sudah familiar, Anda perlu menggunakan perintah:

BUAT TABEL Karyawan

(Nomor(10) BUKAN NULL

Nama varchar(50) BUKAN NULL

Nama belakang varchar(50) BUKAN NULL)

Dalam kueri ini, nama bidang dan tipenya segera ditentukan dalam tanda kurung, serta apakah bisa sama dengan NULL.

JATUHKAN MEJA

Melakukan satu tugas sederhana - menghapus tabel yang ditentukan. Memiliki parameter tambahan JIKA ADA. Ini menyerap kesalahan jatuh jika tabel yang Anda cari tidak ada. Contoh penggunaan:

DROP TABLE Karyawan JIKA ADA.

BUAT INDEKS

SQL memiliki sistem indeks yang memungkinkan Anda mempercepat akses data. Secara umum, ini adalah tautan yang mengarah ke kolom tertentu. Anda dapat membuat indeks dengan kueri sederhana:

BUAT INDEKS nama_indeks

PADA nama_tabel(nama_kolom)

Operator ini digunakan di T-SQL, Oracle, PL SQL dan banyak teknologi interpretasi lainnya.

MENGUBAH TABEL

Operator yang sangat fungsional dengan banyak pilihan. Secara umum mengubah struktur, definisi dan penempatan tabel. Operator yang digunakan di Oracle SQL, Postgres dan banyak lainnya.

    MENAMBAHKAN. Menambahkan kolom ke tabel. Sintaksnya adalah sebagai berikut: ALTER TABLE nama_tabel ADD nama_kolom yang disimpan_tipe_data. Mungkin memiliki opsi IF NOT EXISTS untuk menekan kesalahan jika kolom yang dibuat sudah ada;

    MENJATUHKAN. Menghapus kolom. Ia juga memiliki kunci IF EXISTS, yang tanpanya kesalahan akan dihasilkan yang menunjukkan bahwa kolom yang diperlukan tidak ada;

    MENGUBAH. Berfungsi untuk mengganti nama field menjadi yang ditentukan. Contoh penggunaan: ALTER TABLE nama_tabel GANTI nama_lama nama_baru;

    MEMODIFIKASI. Perintah ini akan membantu Anda mengubah jenis dan atribut tambahan pada kolom tertentu. Dan digunakan seperti ini: ALTER TABLE nama_tabel MODIFY nama_kolom atribut tipe_data;

BUAT TAMPILAN

Di SQL ada yang namanya tampilan. Singkatnya, ini adalah semacam tabel virtual dengan data. Itu terbentuk sebagai hasil seleksi menggunakan pernyataan SQL SELECT. Tampilan dapat membatasi akses ke database, menyembunyikannya, dan mengganti nama kolom sebenarnya.

Proses pembuatannya dilakukan dengan permintaan sederhana:

BUAT LIHAT nama tampilan SEBAGAI SELECT FROM * nama tabel

Pengambilan sampel dapat terjadi baik dari keseluruhan database atau berdasarkan kondisi tertentu.

Sedikit tentang fungsinya

Kueri SQL sering kali menggunakan berbagai fungsi bawaan yang memungkinkan Anda berinteraksi dengan data dan mengubahnya dengan cepat. Penting untuk mempertimbangkannya karena merupakan bagian integral dari bahasa terstruktur.

    MENGHITUNG. Menghitung catatan atau baris dalam tabel tertentu. Anda dapat menentukan nama kolom sebagai parameter, kemudian data akan diambil darinya. PILIH JUMLAH * DARI Karyawan;

    A.V.G. Hanya berlaku untuk kolom dengan data numerik. Hasilnya adalah penentuan mean aritmatika dari semua nilai;

    MIN dan maks. Fungsi-fungsi ini telah digunakan dalam artikel ini. Mereka menentukan nilai maksimum dan minimum dari kolom tertentu;

    JUMLAH. Sederhana saja - fungsinya menghitung jumlah nilai kolom. Berlaku khusus untuk data numerik. Dengan menambahkan parameter DISTINCT ke kueri, hanya nilai unik yang akan dijumlahkan;

    BULAT. Berfungsi untuk membulatkan pecahan desimal. Sintaksnya menggunakan nama kolom dan jumlah tempat desimal;

    len. Fungsi sederhana yang menghitung panjang nilai kolom. Hasilnya akan berupa tabel baru yang menunjukkan jumlah karakter;

    SEKARANG. Kata kunci ini digunakan untuk menghitung tanggal dan waktu saat ini.

Operator Tambahan

Banyak contoh pernyataan SQL memiliki kata kunci yang melakukan tugas-tugas kecil namun masih sangat menyederhanakan pengambilan atau manipulasi database.

    SEBAGAI. Ini digunakan ketika Anda perlu memformat hasilnya secara visual dengan memberikan nama tertentu ke tabel yang dihasilkan.

    DI ANTARA. Alat pengambilan sampel yang sangat nyaman. Ini menentukan rentang nilai di mana data akan diambil. Mengambil sebagai masukan parameter dari dan ke nomor berapa rentang yang digunakan;.

    BUKAN. Operator memberikan ekspresi kebalikannya.

    MEMOTONG. Menghapus data dari bagian tertentu dari database. Ini berbeda dari operator serupa karena tidak mungkin memulihkan data setelah menggunakannya. Perlu dipertimbangkan bahwa penerapan kata kunci ini dalam interpretasi SQL yang berbeda mungkin berbeda. Oleh karena itu, sebelum mencoba menggunakan TRUNCATE, ada baiknya membaca informasi bantuan.

    MEMBATASI. Menetapkan jumlah baris yang akan dihasilkan. Keunikan operator adalah letaknya selalu di ujung. Menerima satu parameter wajib dan satu parameter opsional. Yang pertama menentukan berapa banyak baris data yang dipilih yang harus ditampilkan. Dan jika yang kedua digunakan, maka operator berfungsi untuk rentang nilai.

    PERSATUAN. Operator yang sangat nyaman untuk menggabungkan beberapa kueri. Contohnya telah ditemukan di artikel ini. Anda dapat menampilkan baris yang diinginkan dari beberapa tabel dengan menggabungkannya dengan UNION agar lebih nyaman digunakan. Sintaksnya adalah sebagai berikut: SELECT nama_kolom FROM nama_tabel UNION SELECT nama_kolom lain DARI nama_tabel_lainnya. Hasilnya adalah tabel pivot dengan kueri gabungan.

    KUNCI UTAMA. Diterjemahkan sebagai "kunci utama". Faktanya, terminologi inilah yang digunakan dalam bahan referensi. Itu berarti pengidentifikasi baris unik. Biasanya digunakan saat membuat tabel untuk menunjukkan bidang yang akan menampungnya.

    BAWAAN. Sama seperti operator sebelumnya, ini digunakan selama eksekusi permintaan pembuatan. Ini mendefinisikan nilai default yang akan digunakan untuk mengisi bidang saat dibuat.

    BATAL. Pemula dan bukan hanya programmer, ketika menulis query, sering kali melupakan kemungkinan mendapatkan nilai NULL. Akibatnya, kesalahan menyusup ke dalam kode, yang sulit dilacak selama proses debug. Oleh karena itu, saat membuat tabel, memilih atau menghitung ulang nilai, Anda perlu berhenti dan memikirkan apakah kemunculan NULL di bagian kueri ini diperhitungkan.

    Penyimpanan. Artikel ini menunjukkan beberapa fungsi yang dapat melakukan beberapa tugas. Saat mengembangkan shell untuk bekerja dengan database, Anda dapat melakukan outsourcing penghitungan ekspresi sederhana ke sistem manajemen database. Dalam beberapa kasus, hal ini memberikan peningkatan kinerja yang signifikan.

    Pembatasan. Jika Anda hanya ingin mendapatkan dua baris dari database dengan ribuan baris, Anda harus menggunakan operator seperti LIMIT atau TOP. Tidak perlu mengekstrak data menggunakan bahasa pengembangan shell.

    Menggabungkan. Setelah menerima data dari beberapa tabel, banyak programmer mulai menyatukannya menggunakan memori shell. Tapi kenapa? Lagi pula, Anda dapat membuat satu permintaan yang berisi semua ini. Tidak perlu menulis kode tambahan dan mencadangkan memori tambahan di sistem.

    Penyortiran. Jika memungkinkan untuk menerapkan pengurutan dalam kueri, yaitu menggunakan DBMS, maka Anda perlu menggunakannya. Ini akan memungkinkan Anda menghemat sumber daya secara signifikan saat menjalankan program atau layanan.

    Banyak permintaan. Jika Anda harus memasukkan banyak catatan secara berurutan, maka untuk optimasi Anda harus memikirkan untuk memasukkan data secara batch dengan satu permintaan. Hal ini juga akan meningkatkan kinerja keseluruhan sistem secara keseluruhan.

    Penempatan data yang bijaksana. Sebelum menyusun struktur database, Anda perlu memikirkan apakah diperlukan begitu banyak tabel dan kolom. Mungkin ada cara untuk menggabungkannya atau membuangnya. Seringkali pemrogram menggunakan data dalam jumlah berlebihan yang tidak akan pernah digunakan di mana pun.

    Jenis. Untuk menghemat ruang dan sumber daya, Anda harus peka terhadap jenis data yang Anda gunakan. Jika memungkinkan untuk menggunakan tipe yang tidak terlalu “berat” untuk memori, maka sebaiknya gunakanlah. Misalnya, jika Anda mengetahui bahwa nilai numerik dalam bidang tertentu tidak akan melebihi 255, lalu mengapa menggunakan INT 4-byte jika ada TINYINT 1-byte.

Kesimpulan

Sebagai kesimpulan, perlu dicatat bahwa bahasa kueri terstruktur SQL sekarang digunakan hampir di mana-mana - situs web, layanan web, program PC, aplikasi untuk perangkat seluler. Oleh karena itu, pengetahuan tentang SQL akan membantu semua cabang pembangunan.

Namun modifikasi standar bahasa aslinya terkadang berbeda satu sama lain. Misalnya, pernyataan PL SQL mungkin memiliki sintaks yang berbeda dari pada SQL Server. Oleh karena itu, sebelum Anda mulai mengembangkan teknologi ini, ada baiknya membaca tutorialnya.

Di masa depan, analog yang dapat melampaui SQL dalam hal fungsionalitas dan kinerja tidak mungkin muncul, jadi area ini merupakan ceruk yang cukup menjanjikan bagi programmer mana pun.

Bahasa kueri terstruktur SQL didasarkan pada kalkulus relasional dengan tupel variabel. Bahasa SQL dirancang untuk melakukan operasi pada tabel, membuat, menghapus, mengubah struktur, dan pada data tabel, memilih, mengubah, menambah dan menghapus, serta beberapa operasi terkait. SQL adalah bahasa non-prosedural dan tidak berisi pernyataan kontrol untuk mengatur rutinitas, input, output, dll.


Bagikan pekerjaan Anda di jejaring sosial

Jika karya ini tidak cocok untuk Anda, di bagian bawah halaman terdapat daftar karya serupa. Anda juga dapat menggunakan tombol pencarian


Bahasa kueri terstruktur SQL: sejarah, standar,

Operator bahasa dasar.

Bahasa kueri terstruktur SQL didasarkan pada kalkulus relasional dengan tupel variabel. Bahasa ini memiliki beberapa standar. Bahasa SQL dirancang untuk melakukan operasi pada tabel (membuat, menghapus, mengubah struktur) dan pada data tabel (memilih, memodifikasi, menambah dan menghapus), serta beberapa operasi terkait. SQL adalah bahasa non-prosedural dan tidak berisi pernyataan kontrol, organisasi subrutin, input-output, dll. Dalam hal ini, SQL tidak digunakan secara mandiri; biasanya dibenamkan dalam lingkungan bahasa pemrograman DBMS bawaan (misalnya, FoxPro DBMS Visual FoxPro, ObjectPAL DBMS Paradox, Visual Basic for Applications DBMS Access).

Dalam DBMS modern dengan antarmuka interaktif, Anda dapat membuat kueri menggunakan alat lain, seperti QBE. Namun, penggunaan SQL seringkali dapat meningkatkan efisiensi pemrosesan data dalam database. Misalnya, saat menyiapkan kueri di lingkungan Access, Anda bisa berpindah dari jendela Pembuat Kueri (merumuskan contoh kueri dalam bahasa QBE) ke jendela dengan pernyataan SQL yang setara. Dalam beberapa kasus, menyiapkan kueri baru dengan mengedit kueri yang sudah ada lebih mudah dilakukan dengan mengubah pernyataan SQL. Komposisi pernyataan SQL mungkin sedikit berbeda di DBMS yang berbeda. Bahasa SQL tidak memiliki fungsi bahasa pengembangan yang lengkap, tetapi berfokus pada akses data, sehingga termasuk dalam alat pengembangan program. Dalam hal ini disebut SQL tertanam. Standar bahasa SQL didukung oleh implementasi modern dari bahasa pemrograman berikut: PL/1, Ada, C, COBOL, Fortran, MUMPS dan Pascal.

Dalam sistem pengembangan aplikasi khusus tipe client-server, lingkungan pemrograman biasanya dilengkapi dengan alat komunikasi (membuat dan memutuskan koneksi dengan server database, mendeteksi dan memproses kesalahan yang terjadi di jaringan, dll.), alat untuk mengembangkan antarmuka pengguna, alat desain, dan debugging Ada dua metode utama untuk menggunakan SQL tertanam: statis dan dinamis. Saat menggunakan bahasa secara statis (SQL statis), teks program berisi panggilan ke fungsi bahasa SQL, yang disertakan secara kaku dalam modul yang dapat dieksekusi setelah kompilasi.

Perubahan fungsi yang dipanggil dapat terjadi pada tingkat parameter panggilan individual menggunakan variabel bahasa pemrograman. Saat menggunakan bahasa secara dinamis (SQL dinamis), diasumsikan bahwa panggilan ke fungsi SQL dibangun secara dinamis dan interpretasi panggilan ini, misalnya, mengakses data dari database jarak jauh, selama eksekusi program. Metode dinamis biasanya digunakan ketika aplikasi tidak mengetahui jenis panggilan SQL sebelumnya dan dibangun dalam dialog dengan pengguna. Tujuan utama bahasa SQL (serta bahasa lain untuk bekerja dengan database) adalah untuk mempersiapkan dan mengeksekusi query. Mengambil data dari satu atau lebih tabel dapat menghasilkan sekumpulan rekaman yang disebut tampilan. Tampilan pada dasarnya adalah tabel yang dihasilkan sebagai hasil kueri. Kita dapat mengatakan bahwa ini adalah jenis kueri tersimpan. Anda dapat membuat beberapa tampilan menggunakan tabel yang sama. Tampilan itu sendiri dijelaskan dengan menentukan pengidentifikasi tampilan dan permintaan yang harus dibuat untuk mendapatkannya.

Untuk kenyamanan bekerja dengan tampilan, konsep kursor diperkenalkan ke dalam bahasa SQL. Kursor adalah sejenis penunjuk yang digunakan untuk menelusuri kumpulan catatan saat memprosesnya. Deskripsi dan penggunaan kursor pada SQL adalah sebagai berikut. Pada bagian deskriptif program, variabel bertipe kursor (CURSOR) diasosiasikan dengan pernyataan SQL (biasanya pernyataan SELECT). Pada bagian pelaksana program, kursor dibuka (OPEN<имя курсора>), menggerakkan kursor melintasi rekaman (FETCH<имя курсора>...), diikuti dengan pemrosesan yang sesuai, dan terakhir menutup kursor (CLOSE<имя курсора>).

Operator bahasa dasar

Mari kita jelaskan subset minimal bahasa SQL, berdasarkan implementasinya dalam antarmuka standar ODBC (Open Database Connectivity) dari Microsoft. Operator bahasa SQL dapat dibagi menjadi dua subbahasa: Bahasa Definisi Data (DDL) dan Bahasa Manipulasi Data (DML).Operator bahasa SQL utama disajikan dalam tabel.

Mari kita pertimbangkan format dan kemampuan dasar dari operator yang paling penting, dengan pengecualian operator tertentu yang ditandai dalam tabel dengan simbol “*”. Kami akan menghilangkan operan dan elemen sintaksis yang tidak penting (misalnya, aturan yang diterapkan di banyak sistem pemrograman untuk menempatkan “;” di akhir operator).

1. Operator membuat tabelmemiliki format:

BUAT TABEL<имя таблицы>

(<имя столбца> <тип данных>

[,<имя столбца> <тип данных> ]...)

Operan yang diperlukan operator adalah nama tabel yang dibuat dan nama minimal satu kolom (field) yang menunjukkan jenis data yang disimpan pada kolom tersebut.

Saat membuat tabel, beberapa aturan tambahan untuk mengontrol nilai yang dimasukkan ke dalamnya dapat ditentukan untuk masing-masing bidang. Konstruksi NOT NULL melayani tujuan ini dan, untuk kolom tabel, berarti bahwa suatu nilai harus didefinisikan dalam kolom tersebut.

pernyataan SQL

Melihat

Nama

Tujuan

BUAT TABEL

JATUHKAN MEJA

MENGUBAH TABEL

BUAT INDEKS

JATUHKAN INDEKS

BUAT TAMPILAN

JATUH LIHAT

AGUNG*

MENARIK KEMBALI*

membuat tabel

menghapus tabel

mengubah struktur tabel

pembuatan indeks

menghapus indeks

menciptakan tampilan

menghapus tampilan

menugaskan hak istimewa

penghapusan hak istimewa

PILIH

MEMPERBARUI

MENYISIPKAN

MENGHAPUS

catatan sampel

mengubah catatan

memasukkan catatan baru

menghapus entri

Secara umum, DBMS yang berbeda dapat menggunakan tipe data yang berbeda. Antarmuka ODBC mendukung tipe data standarnya sendiri, misalnya karakter (SQL_CHAR, SQL_VARCHAR, SQL_LONGVARCHAR), dll. Saat bekerja dengan database DBMS tertentu melalui antarmuka ODBC, tipe data standar yang didukung oleh antarmuka secara otomatis dikonversi menjadi tipe data sumber dan sebaliknya. Jika perlu, pertukaran data antara program dan sumber data dapat dilakukan tanpa konversi dalam format data internal sumber.

Contoh 1 . Membuat tabel.

Misalkan Anda ingin membuat tabel deskripsi barang yang memiliki field berikut: jenis jenis produk, pengidentifikasi comp_id perusahaan manufaktur, nama nama produk dan harga harga produk. Pernyataan definisi tabel akan terlihat seperti ini:

BUAT barang TABEL (ketik SQL_CHAR(8) BUKAN NULL,

comp_id SQL_CHAR(10) BUKAN NULL, nama SQL_VARCHAR(20),

harga SQL_DECIMAL(8,2)).

2. Operator perubahan struktur tabelmemiliki format:

MENGUBAH TABEL<имя таблицы>

((TAMBAHKAN, MODIFIKASI, LEPASKAN)<имя столбца> [<тип данных>]

[,(TAMBAHKAN, MODIFIKASI, LEPASKAN)<имя столбца> [<тип данных>]]...)

Mengubah struktur suatu tabel dapat berupa penambahan (ADD), perubahan (MODIFY) atau penghapusan (DROP) satu atau lebih kolom tabel. Aturan penulisan pernyataan ALTER TABLE sama dengan pernyataan CREATE TABLE. Saat menghapus kolom, tunjukkan<тип данных>tidak dibutuhkan.

3. Operator menghapus tabelmemiliki format:

JATUHKAN MEJA<имя таблицы>

Operator mengizinkan Anda menghapus tabel yang ada. Misalnya untuk menghapus tabel bernama item, cukup menulis pernyataan seperti: DROP TABLE item.

4. Operator membuat indeksmemiliki format:

BUAT INDEKS< имя индекса >

PADA< имя таблицы >

(<имя столбца>[ASC | DESK ]

[,<имя столбца>[ASC | DESK]...)

Operator memungkinkan Anda membuat indeks pada satu atau lebih kolom dari tabel tertentu untuk mempercepat pelaksanaan operasi kueri dan pencarian pada tabel. Anda dapat membuat beberapa indeks dalam satu tabel. Dengan menentukan opsi opsional UNIK, Anda dapat memastikan bahwa nilai di semua kolom yang ditentukan dalam pernyataan adalah unik. Pada dasarnya, membuat indeks menggunakan atribut UNIK berarti menentukan kunci dalam tabel yang dibuat sebelumnya. Saat Anda membuat indeks, Anda dapat mengatur nilai dalam kolom agar secara otomatis diurutkan dalam urutan ASC menaik (default), atau urutan menurun DESC. Anda dapat mengatur urutan pengurutan berbeda untuk kolom berbeda.

5. Operator menghapus indeksmemiliki format:

JATUHKAN INDEKS<имя индекса>

Operator ini memungkinkan Anda menghapus indeks yang dibuat sebelumnya dengan nama yang sesuai. Jadi, misalnya untuk menghancurkan indeks main_indx pada tabel emp, cukup menulis pernyataan DROP INDEX main_indx.

6. Operator menciptakan tampilanmemiliki format:

BUAT TAMPILAN<имя представления>

[(<имя столбца> [,<имя столбца> ]...)]

SEBAGAI<оператор SELECT>

Operator ini memungkinkan Anda membuat tampilan. Jika nama kolom tidak ditentukan dalam tampilan, nama kolom dari kueri yang dijelaskan oleh pernyataan SELECT terkait akan digunakan.

7. Hapus operator representasi memiliki format berikut:

JATUH LIHAT<имя представления>

Operator mengizinkan Anda menghapus tampilan yang dibuat sebelumnya. Perhatikan bahwa saat Anda menghapus tampilan, tabel yang berpartisipasi dalam kueri tidak terhapus. Menghapus representasi gerg dilakukan dengan operator formulir: DROP VIEW repr.

8. Operator pemilihan rekaman memiliki format:

PILIH

< список данных >

DARI<список таблиц>

... ]

...]

Ini adalah pernyataan terpenting dari semua pernyataan SQL. Kegunaan itu besar. Mari kita lihat yang utama. Pernyataan SELECT memungkinkan Anda memilih dan melakukan perhitungan pada data dari satu atau lebih tabel. Hasil dari pernyataan tersebut adalah tabel respon, yang mungkin memiliki atau tidak memiliki baris duplikat (DISTINCT). Secara default, semua baris, termasuk baris duplikat, disertakan dalam tabel respons. Pemilihan data melibatkan catatan dari satu atau lebih tabel yang tercantum dalam daftar operan FROM. Daftar data bisa berisi nama kolom yang berpartisipasi dalam kueri, serta ekspresi pada kolom. Dalam kasus paling sederhana, ekspresi dapat berisi nama kolom, simbol aritmatika (+, , *, /), konstanta, dan tanda kurung. Jika suatu ekspresi ditulis dalam daftar data, maka bersamaan dengan pemilihan data, dilakukan penghitungan, yang hasilnya dimasukkan ke dalam kolom baru (yang dibuat) pada tabel respons. Saat menggunakan nama kolom beberapa tabel dalam daftar data, konstruksi formulir digunakan untuk menunjukkan bahwa kolom tersebut milik tabel tertentu:<имя таблицы>.<имя столбца>.

Operand WHERE menentukan kondisi yang harus dipenuhi oleh record dalam tabel yang dihasilkan. Ekspresi<условие выборки>adalah Boolean. Elemen-elemennya dapat berupa nama kolom, operasi perbandingan, operasi aritmatika, penghubung logis (AND, OR, NOT), tanda kurung, fungsi khusus LIKE, NULL, IN, dll. Operan GROUP BY memungkinkan Anda memilih grup dalam kumpulan rekaman yang dihasilkan.

9. Operator mencatat perubahanmemiliki format:

MEMPERBARUI<имя таблицы>

MENGATUR<имя столбца> = {<выражение>, BATAL )

[, MENGATUR<имя столбца> = {<выражение>, BATAL)... ]

Eksekusi pernyataan UPDATE terdiri dari perubahan nilai pada kolom tabel yang ditentukan oleh operan SET untuk record yang memenuhi kondisi yang ditentukan oleh operan WHERE. Nilai bidang baru dalam catatan bisa kosong (NULL) atau dihitung berdasarkan ekspresi aritmatika. Aturan untuk menulis ekspresi aritmatika dan logika mirip dengan aturan terkait untuk pernyataan SELECT.

10. Operator memasukkan catatan barumemiliki dua jenis format:

MASUKKAN KE DALAM<имя таблицы>

[(<список столбцов>)]

NILAI (<список значений>)

MASUKKAN KE DALAM<имя таблицы>

[(<список столбцов>)]

<предложение SELECT>

Dalam format pertama, pernyataan INSERT digunakan untuk memasukkan record baru dengan nilai tertentu ke dalam kolom. Urutan pencatatan nama kolom harus sesuai dengan urutan nilai yang tertera pada daftar operan VALUES. Jika<список столбцов>dihilangkan, lalu masuk<списке значений>Semua nilai harus dicantumkan dalam urutan kolom struktur tabel.Dalam format kedua, pernyataan INSERT dimaksudkan untuk dimasukkantabel tertentu dari baris baru yang dipilih dari tabel lain denganmenggunakan klausa SELECT.

HALAMAN 1

Karya serupa lainnya yang mungkin menarik bagi Anda.vshm>

16. Pelajari dasar-dasar bahasa kueri terstruktur T-SQL 34,15 KB
Untuk mencapai tujuan ini, tugas-tugas berikut perlu diselesaikan: membuat kueri pemilihan dari beberapa tabel dalam bahasa SQL menggunakan kriteria pemilihan yang ditentukan; membuat kueri pemilihan dalam SQL yang berisi fungsi agregat statis; buat kueri yang menggabungkan hasil dari dua atau lebih kueri menjadi satu kumpulan hasil menggunakan perintah UNION. Sebagai hasil dari menyelesaikan pekerjaan, siswa harus mengetahui: kategori perintah SQL; perintah SQL dasar yang digunakan untuk membuat kueri; prinsip membuat kueri SQL...
6030. BAHASA SEBAGAI FENOMENA YANG BERKEMBANGAN. FAKTOR PERKEMBANGAN BAHASA EKSTERNAL DAN INTERNAL 17,38 KB
Permasalahan asal usul bahasa melibatkan dua pertanyaan. Pertanyaan pertama berkaitan dengan permasalahan asal usul bahasa secara umum, bagaimana bahasa manusia berkembang, bagaimana seseorang belajar berbicara, yang kedua dengan asal usul bahasa masing-masing individu. Tidak ada bukti mengenai periode ini yang terpelihara, oleh karena itu, ketika mempelajari asal usul bahasa secara umum, ahli bahasa harus beroperasi tidak hanya dengan fakta linguistik tetapi juga dengan data dari ilmu-ilmu terkait. Ketertarikan terhadap masalah asal usul bahasa sudah muncul sejak lama.
10870. Koneksi interdisipliner dari kursus "Bahasa Rusia Profesional". Transformasi dan diferensiasi bahasa Rusia profesional 10,57 KB
Transformasi dan diferensiasi bahasa Rusia profesional 1. Transformasi dan diferensiasi bahasa Rusia profesional. Norma sintaksis ditentukan oleh struktur bahasa dan, seperti norma ortoepik, leksikal, dan morfologi lainnya, mengalami perubahan dalam proses perkembangan bahasa. Saat menguasai sintaksis bahasa non-pribumi, ada sejumlah kesulitan yang muncul ketika memilih bentuk kontrol dan mengoordinasikan konstruksi kalimat menggunakan frase partisipatif memilih preposisi yang diinginkan dan seterusnya.
6929. Sejarah bahasa Delphi 13,01 KB
Delphi adalah kota Yunani tempat tinggal oracle Delphic. Delphi adalah kombinasi dari beberapa teknologi penting: Kompiler berkinerja tinggi untuk kode mesin Model komponen berorientasi objek Visual dan konstruksi aplikasi berkecepatan tinggi dari prototipe perangkat lunak Alat yang dapat diskalakan untuk membangun basis data Kompiler untuk kode mesin Kompiler yang dibangun ke dalam Delphi menyediakan kinerja tinggi yang diperlukan untuk membangun aplikasi dalam arsitektur ...
10869. Konsep "bahasa profesional", "bahasa khusus", diferensiasinya. Bahasa Rusia profesional: asal usulnya, fungsi, ruang lingkup fungsinya (dengan mempertimbangkan kekhasan spesialisasinya) 9,5 KB
Diferensiasi bahasa. Setiap spesialisasi ekonomi sebagai tambahannya bahasa umum umum bagi semua ekonom dan memiliki bahasa tersendiri yang khusus dan terspesialisasi. Spesialis berkomunikasi dalam bahasa profesional ini secara lisan dan tertulis; bahasa profesional ini diajarkan kepada siswa; bahasa profesional tersebut menggambarkan sistem pengetahuan dan keterampilan dalam referensi pendidikan ilmiah dan literatur lainnya. Dalam sistem bahasa ekonomi, terdapat masalah yang umum terjadi pada semua bahasa profesional.
1335. Model pembentukan kata dasar dalam bahasa Inggris Amerika modern 117,01 KB
Perbedaan utama antara bahasa Inggris Amerika dan British. Masalah penentuan status dunia bahasa Inggris Amerika. Bahasa Inggris Amerika di dunia modern. Fitur leksikal bahasa Inggris Amerika.
1936. SEJARAH, STRUKTUR DAN KONSEP DASAR EKOLOGI 495,77 KB
Istilah "ekologi" dibentuk dari akar kata Yunani "oikos" - rumah, lingkungan terdekat seseorang dan "logos" - ilmu. Oleh karena itu, dalam arti harfiah, ekologi adalah ilmu tentang organisme, termasuk manusia, yang diamati dalam batas-batas rumahnya, dengan perhatian khusus diberikan pada sifat hubungan antara organisme dan lingkungannya.
17746. Pedagogi seni rupa: sejarah dan tren perkembangan utama 25,96 KB
Tugas pekerjaan tes pertimbangkan konsep anak-anak kreativitas seni mengidentifikasi penelitian para guru dan psikolog terkemuka serta sejarah terbentuknya kreativitas seni anak. Perwujudan kreativitas seni dapat berupa karya individu - yang dilakukan secara mandiri atau di bawah bimbingan orang dewasa, gambar, modeling, seni lisan dan tulisan, melodi, dramatisasi, tari, serta nyanyian paduan suara, pertunjukan teater, seni dan kerajinan, ukiran, teater boneka, film gambar dan fiksi, dan...
6285. Pernyataan kontrol 103,51 KB
Operator Loop Operator loop digunakan untuk mengatur perhitungan berulang. Untuk mengatur sebuah loop, Anda memerlukan variabel yang disebut parameter loop atau variabel kontrol loop. Setiap siklus terdiri dari: pengaturan awal atau blok inisialisasi parameter siklus; badan perulangan, yaitu pernyataan yang dieksekusi beberapa kali; blok modifikasi parameter siklus; memeriksa kondisi untuk keluar dari loop, yang dapat ditempatkan sebelum badan loop, kemudian mereka berbicara tentang loop dengan prasyarat atau setelah badan...
2784. Pernyataan bersyarat dan seleksi 16 KB
Operator kondisi Jika. Oleh karena itu, Anda sudah dapat menulis operator penugasan berikut: Koren:=Sqrtxy; Modul:=bsxy. Untuk mengimplementasikan lompatan bersyarat seperti itu, bahasa Pascal menggunakan operator If dan Else, serta operator lompatan tanpa syarat Goto. Mari kita lihat pernyataan If.

Dasar dari bahasa SQL terdiri dari operator, yang secara kondisional dibagi menjadi beberapa kelompok sesuai dengan fungsi yang dijalankannya. Kelompok pernyataan berikut dapat dibedakan (tidak semua pernyataan SQL dicantumkan):

pernyataan ddl (Bahasa Definisi Data).

Pernyataan DDL - pernyataan definisi objek database

    BUAT SKEMA - membuat skema database

    DROP SHEMA - menghapus skema database

    BUAT TABEL - membuat tabel

    ALTER TABLE - mengubah tabel

    DROP TABLE - menghapus tabel

    BUAT DOMAIN - buat domain

    ALTER DOMAIN - ubah domain

    DROP DOMAIN - menghapus domain

    BUAT COLLATION - membuat urutan

    DROP COLLATION - menghapus urutan

    BUAT TAMPILAN - membuat tampilan

    DROP VIEW - menghapus tampilan

pernyataan dml (Bahasa Manipulasi Data).

Pernyataan DML - pernyataan manipulasi data

    PILIH - pilih baris dari tabel

    INSERT - menambahkan baris ke tabel

    PEMBARUAN - mengubah baris dalam tabel

    DELETE - menghapus baris dalam tabel

    COMMIT - melakukan perubahan yang dilakukan

    ROLLBACK - memutar kembali perubahan yang dilakukan

Operator perlindungan dan manajemen data

    BUAT ASSERSI - buat batasan

    DROP ASSERTION - hapus batasan

    GRANT - memberikan hak istimewa kepada pengguna atau aplikasi untuk memanipulasi objek

    REVOKE - mencabut hak pengguna atau aplikasi

Selain itu, terdapat kelompok operator untuk mengatur parameter sesi, memperoleh informasi tentang database, operator SQL statis, dan operator SQL dinamis. Yang paling penting bagi pengguna adalah pernyataan manipulasi data (DML).

Contoh penggunaan operator manipulasi data

INSERT - memasukkan baris ke dalam tabel

Contoh 1 . Memasukkan satu baris ke dalam tabel:

NILAI(4, "Ivanov");

Contoh 2 . Memasukkan ke dalam tabel beberapa baris yang dipilih dari tabel lain (data tentang pemasok dari tabel P dengan angka lebih besar dari 2 dimasukkan ke dalam tabel TMP_TABLE):

TMP_TABLE (PNUM, PNAME)

PILIH PNUM, PNAME

DIMANA P.PNUM>2;

UPDATE - memperbarui baris dalam tabel

Contoh 3 . Memperbarui beberapa baris dalam sebuah tabel:

SET PNAME = "Pushnikov"

DIMANA P.PNUM = 1;

DELETE - menghapus baris dalam tabel

Contoh 4 . Menghapus beberapa baris dalam sebuah tabel:

DIMANA P.PNUM = 1;

Contoh 5 . Menghapus semua baris dalam tabel:

Contoh penggunaan pernyataan SELECT

Pernyataan SELECT sebenarnya adalah pernyataan SQL yang paling penting bagi pengguna dan paling kompleks. Ini dimaksudkan untuk mengambil data dari tabel, mis. sebenarnya, ini mengimplementasikan salah satu tujuan utama database - untuk memberikan informasi kepada pengguna.

Pernyataan SELECT selalu dijalankan pada beberapa tabel yang merupakan bagian dari database.

Komentar. Faktanya, database tidak hanya berisi tabel yang disimpan secara permanen, tetapi juga tabel sementara dan apa yang disebut tampilan. Tampilan hanyalah ekspresi SELECT yang disimpan dalam database. Dari sudut pandang pengguna, tampilan adalah tabel yang tidak disimpan secara permanen di database, tetapi “muncul” saat diakses. Dari sudut pandang pernyataan SELECT, tabel persisten dan tabel serta tampilan sementara terlihat persis sama. Tentu saja, ketika sistem benar-benar mengeksekusi pernyataan SELECT, perbedaan antara tabel dan tampilan yang disimpan akan diperhitungkan, namun perbedaan ini tersembunyi dari pengguna.

Hasil dari pernyataan SELECT selalu berupa tabel. Jadi, hasil dari pernyataan SELECT mirip dengan operator aljabar relasional. Operator aljabar relasional apa pun dapat dinyatakan dengan pernyataan SELECT dengan kata-kata yang sesuai. Kompleksitas pernyataan SELECT ditentukan oleh fakta bahwa pernyataan tersebut berisi semua kemampuan aljabar relasional, serta kemampuan tambahan yang tidak ada dalam aljabar relasional.