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 namesjuga 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, WHEREAnda 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 BYdan HAVINGakan 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.