Lembar Cheat SQL Ultimate untuk Bookmark untuk Nanti [2022]

Diterbitkan: 2022-06-17

SQL, atau Bahasa Kueri Terstruktur S adalah sekumpulan perintah untuk mengelola operasi basis data relasional seperti menghapus, membuat, memperbarui, membaca, dan sebagainya.

SQL telah menjadi standar internasional yang digunakan oleh database relasional sejak tahun 1987. Ada empat jenis perintah SQL:

  • Data Definition Language (DDL) – Perintah ini mendefinisikan struktur database. Misalnya, drop, rename, alter, dan create. Mereka mempengaruhi struktur database. Misalnya, membuat database atau mengganti nama tabel.
  • Data Manipulation Language (DML) – Perintah ini digunakan untuk bekerja dengan data. Misalnya, menyisipkan, memilih, memperbarui, menghapus. Ini tidak memengaruhi tabel atau struktur database, tetapi data yang ada dalam tabel. Misalnya, menyisipkan baris baru, atau memperbarui nilai dalam baris.
  • Transaction Control Language (TCL) – Perintah ini mengontrol pemrosesan transaksi dalam database. Misalnya, kembalikan, simpan, komit. Perintah-perintah ini memiliki dampak permanen pada database. Misalnya, memutar kembali seluruh transaksi ke keadaan sebelumnya meskipun satu proses gagal.
  • Bahasa Kontrol Data (DCL) – Perintah Kontrol Data digunakan untuk mengotorisasi pengguna dan hanya memberikan izin yang diperlukan kepada pengguna atau grup. Misalnya, satu pengguna dapat memiliki izin hanya baca, sedangkan yang lain dapat membaca dan menulis. Kontrol akses dilakukan dengan menggunakan perintah hibah, tolak dan cabut.

Di bawah ini adalah lembar Cheat SQL yang berisi perintah yang paling berguna. Lembar contekan akan membantu Anda dengan cepat mereferensikan perintah yang diperlukan dengan sintaks yang benar dan hasil kueri yang diharapkan. Dalam lembar contekan ini, kami fokus pada perintah DDL dan DML karena dua jenis lainnya cukup mudah digunakan.

Definisi Data dan Kueri Manipulasi

Memerintah Keterangan Contoh
MENAMBAHKAN Menambahkan kolom atau batasan (seperti yang ditentukan) ke tabel yang ada. ALTER TABLE employee ADD last_name varchar2(255); ALTER TABLE employee ADD CONSTRAINT emp_det PRIMARY KEY (id, last_name);

ALTER TABLE employee ADD last_name varchar2(255); ALTER TABLE employee ADD CONSTRAINT emp_det PRIMARY KEY (id, last_name);
ALTER TABEL Mengubah tabel yang ditentukan untuk menambah, memperbarui, atau menghapus kolom tabel. ALTER TABLE employee ADD last_name varchar2(255);

ALTER TABLE employee DROP COLUMN last_name;
ALTER KOLOM Mengubah tipe data kolom. Misalnya, untuk mengubah jenis kolom join_date tabel karyawan dari varchar2 ke datetime. ALTER TABLE employee ALTER COLUMN joining_date datetime;
SEMUA Operator logika digunakan dengan SELECT, WHERE dan HAVING, dan mengembalikan nilai true jika semua nilai memenuhi kondisi subquery SELECT employee_name, joining_date from employee WHERE employee_id = ALL (select employee_id from department_details WHERE department = 'R&D');
DAN Operator logika yang mengembalikan nilai true hanya jika semua kondisi dalam klausa WHERE terpenuhi. SELECT employee_name, salary from employee WHERE city = 'California' AND salary > 2000;
SETIAP Operator logika; mengembalikan true jika salah satu dari nilai subquery memenuhi kondisi di mana klausa SELECT employee_id, employee_name from employee WHERE employee_id = ANY (select employee_id from department_details WHERE department = 'HR' OR department = 'R&D');
SEBAGAI Membuat alias untuk tabel atau kolom hingga waktu eksekusi kueri, berguna saat nama digunakan beberapa kali, terutama saat penggabungan tabel SELECT count(employee_id) AS employees_from_houston from employee WHERE city = 'Houston';
ASC Mengembalikan data dalam urutan akhir asc , digunakan dengan klausa ORDER BY. ORDER BY sendiri mengurutkan hasil secara menaik secara default. SELECT employee_name, joining_date, salary from employee ORDER BY employee_name ASC;
DI ANTARA Untuk memilih nilai dalam rentang SELECT employee_name, joining_date, department_id from employee WHERE salary BETWEEN 40000 AND 100000;
KASUS Terdiri dari sekumpulan pernyataan; mengembalikan nilai pernyataan yang benar, JIKA tidak ada kondisi yang terpenuhi, kondisi di bagian ELSE dijalankan. Jika tidak ada yang lain, maka kembalikan NULL. SELECT order_amount, customer_id, contact_email CASE WHEN order_amount > 3000 THEN "Eligible for 40% discount" WHEN order_amount between 2000 and 3000 THEN "Eligible for 25% discount" ELSE "Eligible for 5% discount" END FROM order_details;
BUAT DATABASE Membuat database baru dengan nama yang ditentukan CREATE DATABASE movies_development;
BUAT TABEL Membuat tabel baru dengan nama tabel dan nama kolom serta tipe yang ditentukan CREATE TABLE movie_info (movie_name varchar2(255), release_date datetime, lead_actor varchar2(255), music_director varchar2(255));
BAWAAN Menetapkan nilai default untuk kolom yang ditentukan, digunakan dengan perintah CREATE atau ALTER TABLE CREATE TABLE employee (joining_date SET DEFAULT CURRENT_DATE);

ALTER TABLE product ALTER is_available SET DEFAULT true;
MENGHAPUS Menghapus data dari tabel yang ditentukan DELETE from employee where employee_id = 345;
DESC Mengembalikan data dalam urutan akhir de sc , digunakan dengan klausa ORDER BY. SELECT employee_name, joining_date, salary from employee ORDER BY employee_name DESC;
JATUHKAN KOLOM Menghapus kolom yang ditentukan dari tabel yang ditentukan. ALTER TABLE employee DROP COLUMN employee_name;
JATUHKAN DATABASE Menghapus seluruh database DROP DATABASE movies_development;
JATUHKAN DEFAULT Menghapus nilai default dari kolom yang ditentukan ALTER TABLE employee ALTER COLUMN is_available DROP DEFAULT;
DROP MEJA Menghapus tabel yang ditentukan DROP TABLE employee;
ADA Memeriksa apakah ada catatan atau tidak dalam subkueri, dan mengembalikan nilai true jika satu atau lebih hasil ditemukan. SELECT employee_id, contact_number FROM employee WHERE EXISTS (SELECT employee_id, department FROM department WHERE employee_id = 345 AND department = 'HR');
DARI Menentukan tabel dari mana data harus dipilih atau dihapus SELECT * FROM employee; DELETE FROM employee where employee_id = 345;
KELOMPOK OLEH Mengelompokkan data sesuai kolom yang ditentukan, digunakan untuk fungsi agregat Tampilkan jumlah karyawan di setiap negara

SELECT COUNT(employee_id), country from employee GROUP BY country;

Menunjukkan peringkat rata-rata karyawan setiap departemen

SELECT AVG(rating), department from employee GROUP BY department;
DI Digunakan untuk memilih beberapa nilai sekaligus dalam klausa WHERE alih-alih menggunakan beberapa kondisi OR SELECT employee_name FROM employee WHERE country IN ('India', 'United Kingdom', 'Singapore', 'Australia');
INDEKS Indeks membuat kueri data lebih efisien dan lebih cepat. Indeks biasanya dibuat pada kolom yang paling banyak dicari. Buat indeks:
CREATE INDEX idx_employee ON employee (first_name, last_name);

Buat indeks unik di mana nilai tidak dapat diduplikasi:
CREATE UNIQUE INDEX idx_employee ON employee (first_name, last_name);

Hapus indeks:
ALTER TABLE employee DROP INDEX idx_employee;
MASUKKAN KE DALAM Tambahkan baris baru dalam tabel INSERT INTO employee (employee_id, employee_name, salary, core_skill) VALUES (451, 'Lee Cooper', 40000, 'Java');
ADALAH NULL Memeriksa nilai nol SELECT employee_id from employee where employee_name IS NULL;
BUKAN NULL Memeriksa nilai yang bukan null SELECT employee_id, core_skill from employee where core_skill IS NOT NULL;
SUKA Mengembalikan semua nilai yang cocok dengan pola yang diberikan SELECT employee_id, first_name, last_name where first_name LIKE '%tony';
TIDAK SUKA Mengembalikan semua nilai yang tidak cocok dengan pola yang diberikan SELECT employee_id, first_name, last_name where first_name NOT LIKE '%tony';
ATAU Mengembalikan nilai true jika salah satu kondisi dalam klausa where terpenuhi SELECT * from employee where country = 'India' OR country = 'Australia';
DIPESAN OLEH Memesan hasil dalam urutan menaik (secara default) atau urutan yang ditentukan dalam kueri (akhir asc atau akhir desc ) SELECT employee_name, salary from employee ORDER BY salary DESC;
ROWNUM Mengembalikan jumlah baris tertentu yang disebutkan dalam klausa WHERE dari kueri SELECT * from employee where ROWNUM <= 5; This will return the first five rows in the resultset.
PILIH Memilih kolom tabel yang disebutkan berdasarkan kondisi yang diberikan. Jika * ditentukan, semua nilai kolom dikembalikan. SELECT employee_id from employee; SELECT * from employee;
PILIH KE Menyalin data dari tabel sumber ke tabel tujuan lain. Anda dapat memilih semua kolom (*) atau kolom tertentu. SELECT * INTO new_employee_info FROM employee; SELECT employee_name, joining_date, core_skill INTO new_employee_info FROM employee;
PILIH ATAS Memilih jumlah record yang ditentukan dari tabel SELECT TOP 5 employee_id from employee where employee_rating = 5;
MENGATUR Menetapkan nilai kolom ke nilai tertentu yang baru selama operasi UPDATE. UPDATE employee SET first_name = 'Tony' WHERE employee_id = 345;
BEBERAPA Mengembalikan nilai true jika salah satu kondisi dalam subquery terpenuhi. BEBERAPA mirip dengan perintah APAPUN. SELECT employee_id, employee_name from employee WHERE salary > SOME (select salary from employee WHERE department = 'HR');
TUNCATE TABEL Menghapus data dari tabel – ingat bahwa tabel tidak akan dihapus. TRUNCATE TABLE log_info;
PERSATUAN Mengembalikan nilai yang berbeda dari 2 atau lebih tabel yang digabungkan. Untuk mendapatkan nilai duplikat juga, gunakan UNION ALL. SELECT city from employee UNION SELECT city from office_locations;
UNIK Menambahkan batasan unik ke kolom yang ditentukan, artinya kolom tidak boleh memiliki nilai duplikat. Dapat digunakan selama tabel membuat atau mengubah perintah. CREATE TABLE employee (employee_id int NOT NULL, UNIQUE(employee_id));

ALTER TABLE employee ADD UNIQUE(employee_id);
MEMPERBARUI Memperbarui nilai kolom yang ditentukan dengan nilai baru UPDATE employee SET first_name = 'Tony' WHERE employee_id = 345;
NILAI Digunakan dengan perintah INSERT untuk menambahkan baris nilai baru ke dalam tabel INSERT INTO employee (employee_id, employee_name, salary, core_skill) VALUES (451, 'Lee Cooper', 40000, 'Java');
DI MANA Menambahkan kondisi untuk memfilter kumpulan hasil dari pernyataan pilihan SELECT * from employee WHERE salary > 20000;
Lembar Cheat Perintah SQL untuk referensi cepat

Fungsi agregat

Fungsi agregat adalah perintah manipulasi data yang bekerja pada kolom numerik seperti int, dan float. Ini sangat membantu dalam memfilter dan menyortir data di tingkat basis data itu sendiri. Beberapa fungsi agregat yang umum digunakan adalah:

FUNGSI KETERANGAN CONTOH
AVG Mengembalikan nilai rata-rata dari kolom yang ditentukan SELECT AVG(marks) from students where subject = 'English';
MIN Mengembalikan nilai terkecil dari kolom yang ditentukan SELECT MIN(price) from product WHERE product_category = 'shoes';
MAKSIMAL Mengembalikan nilai terbesar dari kolom yang ditentukan SELECT MAX(quantity), product_name from inventory;
MENGHITUNG Mengembalikan jumlah baris yang memenuhi kueri Memperlihatkan jumlah total catatan dalam tabel karyawan.

SELECT COUNT(*) from employee;

Tunjukkan jumlah karyawan yang gajinya lebih besar dari 20000

SELECT COUNT(*) from employee where salary > 20000;
JUMLAH Mengembalikan jumlah nilai kolom numerik yang ditentukan SELECT SUM(marks) from students where subject = 'English';
Fungsi agregat umum

SQL Bergabung

Gabungan SQL sangat penting karena mereka menghubungkan dan memfilter data dari beberapa tabel. Bergabung agak rumit dan dapat memberikan hasil yang tidak terduga, jika tidak dijalankan dengan benar. Tabel di bawah ini akan membantu Anda dengan cepat merujuk ke 4 jenis gabungan SQL:

GABUNG JENIS KETERANGAN SINTAKSIS CONTOH
Gabungan batin Mengembalikan rekaman yang cocok dengan tabel yang digabungkan; mirip dengan persimpangan. PILIH kolom1, kolom2… dari tabel1 INNER JOIN table2 pada table1.columnN = table2.columnN; select c.customer_id, o.order_id, c.customer_phone from customer c INNER JOIN order o on c.customer_id = o.customer_id;
Gabung penuh (luar) Mengembalikan semua catatan yang memiliki kecocokan di kedua sisi – kiri atau kanan. Ini mirip dengan serikat pekerja. SELECT column1, column2… from table1 FULL OUTER JOIN table2 on table1.columnN = table2.columnN; select c.customer_id, o.order_id, c.customer_phone from customer c FULL OUTER JOIN order o on c.customer_id = o.customer_id;
Gabung kiri Mengembalikan semua record dari tabel kiri dan record yang cocok dengan kriteria di tabel kanan SELECT column1, column2… from table1 LEFT JOIN table2 on table1.columnN = table2.columnN; select c.country_id, c.country_name, l.location_name from country c LEFT JOIN locations l on c.country_id = l.country_id;
Benar bergabung Mengembalikan semua record dari tabel kanan dan record yang cocok dengan kriteria di tabel kiri SELECT column1, column2… from table1 RIGHT JOIN table2 on table1.columnN = table2.columnN; select c.country_id, c.country_name, l.location_name from country c RIGHT JOIN locations l on c.country_id = l.country_id;
Jenis gabungan dengan sintaks dan contoh

Sumber daya tambahan

SQL adalah alat penting untuk pengembang perangkat lunak, ilmuwan data, dan analis. Referensi perintah SQL yang praktis dalam bentuk lembar contekan dapat menghemat banyak waktu, dan membantu Anda memahami hasil yang diharapkan dari setiap kata kunci.

Untuk informasi tambahan, silakan merujuk ke sumber daya berikut:

Tutorial SQL: Lembar Cheat SQL

Intellipaat: Lembar Cheat Perintah SQL

Penyiapan Situs Web: Lembar Cheat SQL

PemrogramanDenganMosh: Lembar Cheat SQL

Lembar Cheat PostgreSQL