
SQL atau S tructured Query Language (bahasa query terstruktur) dirancang untuk mengelola data dalam sistem basis data relasional (RDBMS). Artikel ini akan berbicara tentang perintah SQL yang umum digunakan yang harus diketahui oleh setiap programmer. Materi ini sangat ideal bagi mereka yang ingin memoles pengetahuan SQL mereka sebelum wawancara kerja. Untuk melakukan ini, analisis contoh yang diberikan dalam artikel dan ingat apa yang Anda lalui secara berpasangan melalui database.
Perhatikan bahwa beberapa sistem database memerlukan titik koma di akhir setiap pernyataan. Titik koma adalah penunjuk standar ke akhir setiap pernyataan dalam SQL. Contoh menggunakan MySQL, jadi titik koma diperlukan.
Pengaturan basis data untuk contoh
Baca Juga :
Buat database untuk mendemonstrasikan cara kerja tim. Agar berfungsi, Anda perlu mengunduh dua file: DLL.sql dan InsertStatements.sql . Setelah itu, buka terminal dan masuk ke konsol MySQL menggunakan perintah berikut (artikel ini mengasumsikan bahwa MySQL sudah diinstal pada sistem):
mysql -u root -p
Kemudian masukkan kata sandi Anda.
Baca Juga:
Jalankan perintah berikut. Mari kita sebut database “universitas”:
BUAT DATABASE universitas;
GUNAKAN universitas;
SUMBER <path_of_DLL.sql_file>;
SUMBER <path_of_InsertStatements.sql_file>;
Perintah Basis Data
- Lihat database yang tersedia
TAMPILKAN DATABASES;
- Membuat database baru
BUAT DATABASE;
- Memilih database yang akan digunakan
GUNAKAN <nama_database>;
- Mengimpor perintah SQL dari file .sql
SUMBER <path_of_.sql_file>;
- Menghapus database
DROP DATABASE <nama_database>;
Bekerja dengan tabel
- Melihat tabel yang tersedia di database
TAMPILKAN TABEL;
- Membuat tabel baru
BUAT TABEL <nama_tabel1> (
<col_name1> <col_type1>,
<col_name2> <col_type2>,
<col_name3> <col_type3>
KUNCI UTAMA (<col_name1>),
KUNCI ASING (<col_name2>) REFERENSI <table_name2>(<col_name2>)
);
Batasan integritas dalam penggunaan CREATE TABLE
Mungkin perlu membuat batasan untuk kolom tertentu dalam tabel. Saat membuat tabel, Anda dapat mengatur batasan berikut:
- sel tabel tidak boleh NULL;
- kunci utama – KUNCI UTAMA (col_name1, col_name2, …);
- kunci asing – KUNCI ASING (col_namex1, …, col_namexn) REFERENSI table_name(col_namex1, …, col_namexn).
Lebih dari satu kunci utama dapat ditentukan. Dalam hal ini, Anda mendapatkan kunci primer komposit.
Contoh
Buat tabel “instruktur”:
instruktur BUAT TABEL (
ID CHAR (5),
nama VARCHAR(20) BUKAN NULL,
dept_name VARCHAR(20),
gaji NUMERIK(8,2),
KUNCI UTAMA (ID),
KUNCI ASING (dept_name) REFERENSI departemen (dept_name)
);
- Informasi tabel
Anda dapat melihat berbagai informasi (tipe nilai, kunci atau tidak) tentang kolom tabel dengan perintah berikut:
JELASKAN <nama_tabel>;
- Menambahkan data ke tabel
INSERT INTO <table_name> (<col_name1>, <col_name2>, <col_name3>, …)
NILAI (<nilai1>, <nilai2>, <nilai3>, …);
Saat menambahkan data ke setiap kolom dalam tabel, Anda tidak perlu menentukan nama kolom.
MASUKKAN KE <nama_tabel>
NILAI (<nilai1>, <nilai2>, <nilai3>, …);
- Memperbarui data tabel
PERBARUI <nama_tabel>
SET <col_name1> = <value1>, <col_name2> = <value2>, …
DIMANA <kondisi>;
- Menghapus semua data dari tabel
HAPUS DARI <nama_tabel>;
- Menghapus tabel
DROP TABLE <nama_tabel>;
Perintah untuk membuat permintaan
- PILIH
SELECT digunakan untuk mengambil data dari tabel tertentu:
PILIH <col_name1>, <col_name2>, …
DARI <nama_tabel>;
Perintah berikut dapat menampilkan semua data dari tabel:
PILIH * DARI <nama_tabel>;
- PILIH BERBEDA
Kolom tabel dapat berisi data duplikat. Gunakan SELECT DISTINCTuntuk mendapatkan hanya data non-duplikat.
PILIH BERBEDA <col_name1>, <col_name2>, …
DARI <nama_tabel>;
- DI MANA
Anda dapat menggunakan kata kunci WHEREc SELECTuntuk menentukan kondisi dalam permintaan:
PILIH <col_name1>, <col_name2>, …
DARI <nama_tabel>
DIMANA <kondisi>;
Kondisi berikut dapat ditentukan dalam permintaan:
- perbandingan teks;
- perbandingan nilai numerik;
- operasi logika AND (dan), OR (atau) dan NOT (negasi).
Contoh
Coba perintah berikut. Perhatikan ketentuan yang diatur di WHERE:
SELECT * FROM course WHERE dept_name=’Comp. Sains.’;
PILIH * DARI kursus WHERE kredit>3;
SELECT * FROM course WHERE dept_name=’Comp. ilmu pengetahuan.’ DAN kredit>3;
- KELOMPOK OLEH
Operator GROUP BYsering digunakan dengan fungsi agregat, seperti COUNT, MAX, MIN, SUM dan AVG, untuk grup nilai output.
PILIH <col_name1>, <col_name2>, …
DARI <nama_tabel>
KELOMPOK MENURUT <col_namex>;
Contoh
Mari kita tampilkan jumlah mata kuliah untuk setiap fakultas:
PILIH JUMLAH(kursus_id), dept_name
DARI kursus
KELOMPOK BERDASARKAN dept_name;
- MEMILIKI
Kata kunci HAVING telah ditambahkan ke SQL karena WHERE tidak dapat digunakan dengan fungsi agregat.
PILIH <col_name1>, <col_name2>, …
DARI <nama_tabel>
KELOMPOK MENURUT <column_namex>
MEMILIKI <kondisi>
Contoh
Mari kita daftar fakultas yang memiliki lebih dari satu program studi:
PILIH JUMLAH(kursus_id), dept_name
DARI kursus
KELOMPOK MENURUT dept_name
MEMILIKI COUNT(course_id)>1;
- DIPESAN OLEH
ORDER BYdigunakan untuk mengurutkan hasil query secara descending atau ascending. ORDER BYakan mengurutkan dalam urutan menaik jika tidak ada metode pengurutan yang ditentukan ASCor DESC.
PILIH <col_name1>, <col_name2>, …
DARI <nama_tabel>
ORDER MENURUT <col_name1>, <col_name2>, … ASC|DESC;
Contoh
Mari kita tampilkan daftar mata kuliah dalam urutan menaik dan menurun dari jumlah sks:
PILIH * DARI kursus ORDER BY kredit;
PILIH * DARI kursus ORDER BY kredit DESC;
- DI ANTARA
BETWEENdigunakan untuk memilih nilai data dari rentang yang ditentukan. Nilai numerik dan teks serta tanggal dapat digunakan.
PILIH <col_name1>, <col_name2>, …
DARI <nama_tabel>
DI MANA <col_namex> ANTARA <value1> DAN <value2>;
Contoh
Berikut daftar instruktur yang gajinya lebih dari 50.000 tetapi kurang dari 100.000:
PILIH * DARI instruktur
DIMANA gaji ANTARA 50000 DAN 100000;
- SUKA
Operator LIKE digunakan di WHEREuntuk menentukan pola pencarian untuk nilai yang serupa.
pengembang PHP
AGIMA, Moskow, dari 000 160,000
tproger.ru
Lowongan di tproger.ru
Ada dua operator gratis yang digunakan dalam LIKE:
- %(tidak ada, satu atau lebih karakter);
- _(satu karakter).
PILIH <col_name1>, <col_name2>, …
DARI <nama_tabel>
DI MANA <col_namex> LIKE <pattern>;
Contoh
Mari kita tampilkan daftar mata kuliah, yang namanya berisi «ke», dan daftar mata kuliah, yang namanya dimulai dengan «CS-»:
SELECT * FROM course WHERE title LIKE ‘%to%’;
PILIH * FROM course WHERE course_id LIKE ‘CS-___’;
- DI
Menggunakan, INAnda dapat menentukan beberapa nilai untuk operator WHERE:
PILIH <col_name1>, <col_name2>, …
DARI <nama_tabel>
WHERE <col_namen> IN (<value1>, <value2>, …);
Contoh
Mari kita tampilkan daftar siswa dari Comp. Sci. Fisika dan Elektro. Inggris.:
PILIH * DARI siswa
WHERE dept_name IN (‘Comp. Sci.’, ‘Fisika’, ‘Elec. Eng.’);
- IKUTI
JOINDigunakan untuk menghubungkan dua atau lebih tabel menggunakan atribut umum di dalamnya. Gambar di bawah ini menunjukkan berbagai cara untuk menggabungkan dalam SQL. Perhatikan perbedaan antara gabungan luar kiri dan gabungan luar kanan:
PILIH <col_name1>, <col_name2>, …
DARI <nama_tabel1>
GABUNG <nama_tabel2>
ON <table_name1.col_namex> = <table2.col_namex>;
Contoh 1
Kami akan menampilkan daftar semua program studi dan informasi terkait tentang fakultas:
PILIH * DARI kursus
GABUNG departemen
ON course.dept_name=department.dept_name;
Contoh 2
Mari daftar semua kursus yang diperlukan dan detail tentangnya:
PILIH prereq.course_id, judul, dept_name, kredit, prereq_id
DARI prasyarat
KIRI OUTER JOIN saja
PADA prereq.course_id=kursus.kursus_id;
Contoh 3
Mari kita daftar semua kursus, terlepas dari apakah itu wajib atau tidak:
PILIH course.course_id, title, dept_name, credits, prereq_id
DARI prasyarat
KANAN OUTER JOIN saja
PADA prereq.course_id=kursus.kursus_id;
- Melihat
ViewMerupakan tabel SQL virtual yang dibuat dengan mengeksekusi ekspresi. Ini berisi baris dan kolom dan sangat mirip dengan tabel SQL biasa. Tampilan selalu menampilkan informasi terbaru dari database.
Makhluk
BUAT TAMPILAN <view_name> SEBAGAI
PILIH <col_name1>, <col_name2>, …
DARI <nama_tabel>
DIMANA <kondisi>;
Menghapus
LEPASKAN TAMPILAN <nama_tampilan>;
Contoh
Mari kita buat viewone yang terdiri dari mata kuliah dengan 3 sks:
- Fungsi agregat
Fungsi-fungsi ini digunakan untuk mendapatkan hasil agregat untuk data yang bersangkutan. Berikut ini adalah fungsi agregat yang umum digunakan:
- COUNT (col_name)- mengembalikan jumlah baris;
- SUM (col_name)- mengembalikan jumlah nilai di kolom yang diberikan;
- AVG (col_name)- mengembalikan nilai rata-rata dari kolom yang diberikan;
- MIN (col_name)- mengembalikan nilai terkecil dari kolom yang diberikan;
- MAX (col_name)- mengembalikan nilai terbesar dari kolom yang diberikan.
- Subkueri bersarang
Subkueri bersarang adalah kueri SQL yang menyertakan ekspresi SELECT, FROM, dan WHERE yang bersarang di dalam kueri lain.
Contoh
Mari temukan kursus yang diajarkan pada musim gugur 2009 dan musim semi 2010:
PILIH id_kursus yang BERBEDA
DARI bagian
WHERE semester = ‘Musim Gugur’ DAN tahun= 2009 AND course_id IN (
PILIH kursus_id
DARI bagian
MANA semester = ‘Musim Semi’ DAN tahun = 2010