2.1 Pengantar SQL
Jika Anda memiliki basis data (DB), dan di dalamnya ada tabel dengan beberapa data, maka tugas yang paling umum adalah menemukan data tertentu dalam tabel ini. Itulah yang ditemukan SQL selama 40 tahun yang lalu.
SQL adalah singkatan dari Structured Query Language .
Kueri SQL paling sederhana terlihat seperti ini:
SELECT column1, column2, … columnN FROM table
Katakanlah Anda memiliki tabel karyawan dengan daftar karyawan startup Anda:
pengenal | nama | pekerjaan | gaji | usia | join_date |
---|---|---|---|---|---|
1 | Ivanov Ivan | Programmer | 100.000 | 25 | 30-06-2012 |
2 | Petrov Petr | Programmer | 80.000 | 23 | 12-08-2013 |
3 | Ivanov Sergey | Penguji | 40.000 | tigapuluh | 01-01-2014 |
4 | Rabinovich Moisha | Direktur | 200.000 | 35 | 12-05-2015 |
5 | Kirienko Anastasia | Manajer kantor | 40.000 | 25 | 10-10-2015 |
6 | Vaska | kucing | 1.000 | 3 | 01-01-2018 |
Anda ingin menulis kueri yang akan menampilkannya employee names
juga salaries
, maka Anda perlu menulis kueri:
SELECT name, salary FROM employee
Anda akan mendapatkan hasil kueri:
nama | gaji |
---|---|
Ivanov Ivan | 100.000 |
Petrov Petr | 80.000 |
Ivanov Sergey | 40.000 |
Rabinovich Moisha | 200.000 |
Kirienko Anastasia | 40.000 |
Vaska | 1.000 |
Jika Anda ingin menampilkan semua kolom tabel Anda , alih-alih mencantumkan nama semua kolom, Anda cukup menulis tanda bintang. Contoh:
SELECT * FROM employee
Anda akan mendapatkan hasil kueri:
pengenal | nama | pekerjaan | gaji | usia | join_date |
---|---|---|---|---|---|
1 | Ivanov Ivan | Programmer | 100.000 | 25 | 30-06-2012 |
2 | Petrov Petr | Programmer | 80.000 | 23 | 12-08-2013 |
3 | Ivanov Sergey | Penguji | 40.000 | tigapuluh | 01-01-2014 |
4 | Rabinovich Moisha | Direktur | 200.000 | 35 | 12-05-2015 |
5 | Kirienko Anastasia | Manajer kantor | 40.000 | 25 | 10-10-2015 |
6 | Vaska | kucing | 1.000 | 3 | 01-01-2018 |
2.2 Tampilan lanjutan kueri SQL
Bahasa SQL dirancang semudah mungkin untuk digunakan.
Pertama, kasus teks permintaan tidak masalah . Anda dapat menulis PILIH, Pilih, atau pilih dan semuanya akan berfungsi. Kedua, jeda baris tidak diperhitungkan dengan cara apa pun . DBMS akan tetap mengubah kueri menjadi satu string panjang, sehingga Anda dapat menulisnya sesuka Anda.
Seperti yang mungkin sudah Anda duga, kata kunci SELECT dan FROM tidak dibatasi. Kalau tidak, tidak akan ada banyak pembicaraan seputar SQL. Tampilan yang diperluas dari kueri SQL terlihat seperti ini:
SELECT columns
FROM table
WHERE condition
GROUP BY columns
HAVING columns
ORDER BY sorting
Dengan bantuan kata kunci, WHERE
Anda dapat menetapkan kondisi / filter untuk baris yang dipilih.
Contoh 1 . Mari tulis kueri yang akan memilih karyawan dengan profesi "Programmer":
SELECT * FROM employee WHERE occupation = 'Programmer'
Dan kami mendapatkan hasil kueri berikut:
pengenal | nama | pekerjaan | gaji | usia | join_date |
---|---|---|---|---|---|
1 | Ivanov Ivan | Programmer | 100.000 | 25 | 30-06-2012 |
2 | Petrov Petr | Programmer | 80.000 | 23 | 12-08-2013 |
Seperti yang Anda lihat, sebagai hasil dari eksekusi kueri, hanya baris yang menampilkan profesi karyawan yang disebut "Programmer".
Kata kunci GROUP BY
, ORDER BY
dan HAVING
akan kita bahas pada kuliah berikutnya. Dan dalam hal ini kita akan menganalisis beberapa contoh lagi dengan kata WHERE.
Contoh 2 . Sekarang mari kita tulis kueri yang akan menampilkan semua karyawan dengan gaji lebih dari 100K. Inilah tampilannya:
SELECT * FROM employee WHERE salary > 100000
Kami mendapatkan hasil kueri berikut:
pengenal | nama | pekerjaan | gaji | usia | join_date |
---|---|---|---|---|---|
4 | Rabinovich Moisha | Direktur | 200.000 | 35 | 12-05-2015 |
Contoh 3 . Sekarang mari kita coba sesuatu yang lebih sulit. Bagaimana cara menampilkan semua karyawan yang dipekerjakan pada tahun 2015? Dan seperti ini:
SELECT * FROM employee WHERE YEAR(join_date) = 2015
Kami mendapatkan hasil kueri berikut:
pengenal | nama | pekerjaan | gaji | usia | join_date |
---|---|---|---|---|---|
4 | Rabinovich Moisha | Direktur | 200.000 | 35 | 12-05-2015 |
5 | Kirienko Anastasia | Manajer kantor | 40.000 | 25 | 10-10-2015 |
Dalam kueri ini, kami menggunakan fungsi khusus YEAR()
yang memungkinkan kami mendapatkan tahun dari tanggal dan kemudian membandingkan tahun dari tanggal tersebut dengan angka 2015.
2.3 Komentar dalam kueri SQL
Dan satu poin penting lagi adalah komentar dalam kueri SQL. Komentar adalah hal yang sangat berguna. Pertama, Anda dapat menulis penjelasan dan / atau ide Anda di dalamnya. Kedua, dengan bantuan komentar, Anda dapat menonaktifkan kode yang rusak. Atau komentari kode versi lama.
SQL, seperti Java, memiliki komentar satu baris dan banyak baris. Selain itu, komentar multi-baris terlihat seperti di Jawa. Penampilannya:
/*
comment text
comment text
comment text
*/
Tentu saja, itu bisa digunakan dalam satu baris juga. Contoh:
/*comment text*/
Ada juga jenis komentar "dari awal hingga akhir baris", mirip dengan Java "//". Hanya di SQL Anda perlu menulis dua karakter minus dan spasi . Pandangan umum dari komentar seperti itu:
-- comment text
Contoh:
SELECT * FROM employee -- WHERE YEAR(join_date) = 2015
Pada contoh di atas, kami mengomentari kondisi kueri, jadi MySQL hanya akan mengeksekusi kueri:
SELECT * FROM employee
2.4 pengucapan SQL
Jika Anda berkomunikasi dengan pelanggan asing atau lulus wawancara online untuk perusahaan Amerika, Anda mungkin ditanyai tentang pengalaman Anda dengan bahasa sekuel . Anda akan dengan jujur \u200b\u200bmengatakan bahwa Anda tidak bekerja dengannya dan langsung gagal dalam wawancara.
Dan masalahnya adalah bahasa SQL pada awalnya disebut SEQUEL, yang diucapkan seperti sekuel (ˈsēkwəl), sehingga sangat sering di AS dan sumber berbahasa Inggris lainnya Anda tidak akan mendengar "escuel", tetapi "sekuel". SQL ditulis, dan sekuelnya dibaca. Inilah paradoks sejarah.
GO TO FULL VERSION