Apa itu kueri SELECT di MySQL?
SELECT QUERY digunakan untuk mengambil data dari database MySQL. Database menyimpan data untuk pengambilan nanti. Tujuan MySQL Select adalah untuk kembali dari tabel database, satu atau lebih baris yang cocok dengan kriteria tertentu. Pilih kueri dapat digunakan dalam bahasa skrip seperti PHP, Ruby, atau Anda dapat menjalankannya melalui prompt perintah.
Sintaks pernyataan SQL SELECT
Ini adalah perintah SQL yang paling sering digunakan dan memiliki sintaks umum berikut
SELECT [DISTINCT|ALL ] { * | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condition][GROUP BY fieldName(s)] [HAVING condition] ORDER BY fieldName(s)SINI
- SELECT adalah kata kunci SQL yang memungkinkan database mengetahui bahwa Anda ingin mengambil data.
- [BERBEDA | ALL] adalah kata kunci opsional yang dapat digunakan untuk menyempurnakan hasil yang dikembalikan dari pernyataan SQL SELECT. Jika tidak ada yang ditentukan maka SEMUA diasumsikan sebagai default.
- {* | [fieldExpression [AS newName]} setidaknya satu bagian harus ditentukan, "*" memilih semua bidang dari nama tabel yang ditentukan, fieldExpression melakukan beberapa perhitungan pada bidang tertentu seperti menambahkan angka atau menyatukan dua bidang string menjadi satu.
- FROM tableName adalah wajib dan harus berisi setidaknya satu tabel, beberapa tabel harus dipisahkan menggunakan koma atau digabungkan menggunakan kata kunci JOIN.
- Kondisi WHERE bersifat opsional, dapat digunakan untuk menentukan kriteria dalam kumpulan hasil yang dikembalikan dari kueri.
- GROUP BY digunakan untuk mengumpulkan rekaman yang memiliki nilai bidang yang sama.
- Kondisi HAVING digunakan untuk menentukan kriteria saat bekerja menggunakan kata kunci GROUP BY.
- ORDER BY digunakan untuk menentukan urutan set hasil.
*
Simbol Bintang digunakan untuk memilih semua kolom dalam tabel. Contoh pernyataan SELECT sederhana terlihat seperti yang ditunjukkan di bawah ini.
SELECT * FROM `members`;
Pernyataan di atas memilih semua bidang dari tabel anggota. Titik koma adalah pernyataan berakhir. Tidak wajib tetapi dianggap praktik yang baik untuk mengakhiri pernyataan Anda seperti itu.
Contoh praktis
Klik untuk mengunduh DB myflix yang digunakan untuk contoh praktis.
Anda dapat belajar mengimpor file .sql ke MySQL WorkBench
Contoh dilakukan pada dua tabel berikut
Tabel 1: tabel anggota
Nomor keanggotaan | nama lengkap | jenis kelamin | tanggal lahir | alamat fisik | postal_ address | contct_ number | surel |
---|---|---|---|---|---|---|---|
1 | Janet Jones | Perempuan | 21-07-1980 | Plot Jalan Pertama No 4 | Tas Pribadi | 0759 253 542 | Alamat email ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya. |
2 | Janet Smith Jones | Perempuan | 23-06-1980 | Melrose 123 | BATAL | BATAL | Alamat email ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya. |
3 | Robert Phil | Pria | 12-07-1989 | Jalan Ketiga 34 | BATAL | 12345 | Alamat email ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya. |
4 | Gloria Williams | Perempuan | 14-02-1984 | 2nd Street 23 | BATAL | BATAL | BATAL |
Tabel 2: tabel film
movie_id | judul | Direktur | year_released | category_id |
---|---|---|---|---|
1 | Pirates of the Caribean 4 | Rob Marshall | 2011 | 1 |
2 | Melupakan Sarah Marshal | Nicholas Stoller | 2008 | 2 |
3 | X-Men | BATAL | 2008 | BATAL |
4 | Nama Kode Hitam | Edgar Jimz | 2010 | BATAL |
5 | Gadis Kecil Ayah | BATAL | 2007 | 8 |
6 | malaikat dan iblis | BATAL | 2007 | 6 |
7 | Kode Davinci | BATAL | 2007 | 6 |
9 | Honey mooners | John Schultz | 2005 | 8 |
16 | 67% Bersalah | BATAL | 2012 | BATAL |
Mendapatkan daftar anggota
Misalkan kita ingin mendapatkan daftar semua anggota perpustakaan terdaftar dari database kita, kita akan menggunakan skrip yang ditunjukkan di bawah ini untuk melakukan itu.
SELECT * FROM `members`;
Menjalankan skrip di atas di meja kerja MySQL menghasilkan hasil sebagai berikut.
Nomor keanggotaan | nama lengkap | jenis kelamin | tanggal lahir | alamat fisik | postal_ address | contct_ number | surel |
---|---|---|---|---|---|---|---|
1 | Janet Jones | Perempuan | 21-07-1980 | Plot Jalan Pertama No 4 | Tas Pribadi | 0759 253 542 | Alamat email ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya. |
2 | Janet Smith Jones | Perempuan | 23-06-1980 | Melrose 123 | BATAL | BATAL | Alamat email ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya. |
3 | Robert Phil | Pria | 12-07-1989 | Jalan Ketiga 34 | BATAL | 12345 | Alamat email ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya. |
4 | Gloria Williams | Perempuan | 14-02-1984 | 2nd Street 23 | BATAL | BATAL | BATAL |
Kueri kami di atas telah mengembalikan semua baris dan kolom dari tabel anggota.
Katakanlah kita hanya tertarik untuk mendapatkan bidang nama_lengkap, jenis kelamin, alamat_sik, dan email saja. Skrip berikut akan membantu kami mencapai ini.
SELECT `full_names`,`gender`,`physical_address`, `email` FROM `members`;
Menjalankan skrip di atas di meja kerja MySQL menghasilkan hasil sebagai berikut.
nama lengkap | jenis kelamin | alamat fisik | surel |
---|---|---|---|
Janet Jones | Perempuan | Plot Jalan Pertama No 4 | Alamat email ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya. |
Janet Smith Jones | Perempuan | Melrose 123 | Alamat email ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya. |
Robert Phil | Pria | Jalan Ketiga 34 | Alamat email ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya. |
Gloria Williams | Perempuan | 2nd Street 23 | BATAL |
Mendapatkan daftar film
Ingat dalam pembahasan di atas bahwa kami menyebutkan ekspresi yang telah digunakan dalam pernyataan SELECT. Katakanlah kita ingin mendapatkan daftar film dari database kita. Kami ingin memiliki judul film dan nama sutradara film dalam satu bidang. Nama sutradara film harus dalam tanda kurung. Kami juga ingin mengetahui tahun rilis film tersebut. Skrip berikut membantu kita melakukan itu.
SELECT Concat(`title`, ' (', `director`, ')') , `year_released` FROM `movies`;
SINI
- Fungsi Concat () MySQL digunakan untuk menggabungkan nilai kolom bersama.
- Baris "Concat (` title`, '(', `director`, ')') mendapatkan judul, menambahkan kurung buka diikuti dengan nama sutradara lalu menambahkan kurung tutup.
Porsi string dipisahkan menggunakan koma dalam fungsi Concat ().
Menjalankan skrip di atas di meja kerja MySQL menghasilkan set hasil berikut.
Concat (`title`, '(',` director`, ')') | year_released |
---|---|
Pirates of the Caribean 4 (Rob Marshall) | 2011 |
Melupakan Sarah Marshal (Nicholas Stoller) | 2008 |
BATAL | 2008 |
Nama Kode Black (Edgar Jimz) | 2010 |
BATAL | 2007 |
BATAL | 2007 |
BATAL | 2007 |
Honey mooners (John Schultz) | 2005 |
BATAL | 2012 |
Nama bidang alias
Contoh di atas mengembalikan kode Concatenation sebagai nama field untuk hasil kita. Misalkan kita ingin menggunakan nama field yang lebih deskriptif dalam kumpulan hasil kita. Kami akan menggunakan nama alias kolom untuk mencapai itu. Berikut ini adalah sintaks dasar untuk nama alias kolom
SELECT `column_name|value|expression` [AS] `alias_name`;
SINI
- "SELECT` nama_kolom | nilai | ekspresi `" adalah pernyataan SELECT biasa yang dapat berupa nama kolom, nilai, atau ekspresi.
- "[AS]" adalah kata kunci opsional sebelum nama alias yang menunjukkan ekspresi, nilai, atau nama bidang akan dikembalikan sebagai.
- "` alias_name` " adalah nama alias yang ingin kita kembalikan dalam hasil yang kita setel sebagai nama field.
Kueri di atas dengan nama kolom yang lebih bermakna
SELECT Concat(`title`, ' (', `director`, ')') AS 'Concat', `year_released` FROM `movies`;
Kami mendapatkan hasil sebagai berikut
Concat | year_released |
---|---|
Pirates of the Caribean 4 (Rob Marshall) | 2011 |
Melupakan Sarah Marshal (Nicholas Stoller) | 2008 |
BATAL | 2008 |
Nama Kode Black (Edgar Jimz) | 2010 |
BATAL | 2007 |
BATAL | 2007 |
BATAL | 2007 |
Honey mooners (John Schultz) | 2005 |
BATAL | 2012 |
Mendapatkan daftar anggota yang menunjukkan tahun lahir
Misalkan kita ingin mendapatkan daftar semua anggota yang menunjukkan nomor keanggotaan, nama lengkap dan tahun lahir, kita dapat menggunakan fungsi string KIRI untuk mengekstrak tahun lahir dari field tanggal lahir. Skrip yang ditunjukkan di bawah membantu kita melakukan itu.
SELECT `membership_number`,`full_names`,LEFT(`date_of_birth`,4) AS `year_of_birth` FROM members;
SINI
- "KIRI (` date_of_birth`, 4)" yang string fungsi KIRI menerima tanggal lahir sebagai parameter dan hanya mengembalikan 4 karakter dari kiri.
- "AS` year_of_birth` " adalah nama alias kolom yang akan dikembalikan dalam hasil kami. Perhatikan kata kunci AS bersifat opsional , Anda dapat membiarkannya dan kueri akan tetap berfungsi.
Menjalankan kueri di atas di meja kerja MySQL terhadap myflixdb memberi kita hasil yang ditunjukkan di bawah ini.
Nomor keanggotaan | nama lengkap | tahun kelahiran |
---|---|---|
1 | Janet Jones | 1980 |
2 | Janet Smith Jones | 1980 |
3 | Robert Phil | 1989 |
4 | Gloria Williams | 1984 |
SQL menggunakan MySQL Workbench
Kami sekarang akan menggunakan meja kerja MySQL untuk menghasilkan skrip yang akan menampilkan semua nama bidang dari tabel kategori kami.
1. Klik Kanan pada Tabel Kategori. Klik "Pilih Baris - Batasi 1000"
2. Meja kerja MySQL akan secara otomatis membuat kueri SQL dan menempelkannya di editor.
3. Hasil Query akan ditampilkan
Perhatikan bahwa kami tidak menulis pernyataan SELECT sendiri. Meja kerja MySQL membuatnya untuk kita.
Mengapa menggunakan perintah SELECT SQL ketika kita memiliki MySQL Workbench?
Sekarang, Anda mungkin berpikir mengapa mempelajari perintah SQL SELECT untuk melakukan kueri data dari database ketika Anda cukup menggunakan alat seperti meja kerja MySQL untuk mendapatkan hasil yang sama tanpa pengetahuan bahasa SQL. Tentu saja itu mungkin, tetapi mempelajari cara menggunakan perintah SELECT memberi Anda lebih banyak fleksibilitas dan kontrol atas pernyataan SQL SELECT Anda .
Meja kerja MySQL termasuk dalam kategori alat QBE " Query by Example ". Ini dimaksudkan untuk membantu menghasilkan pernyataan SQL lebih cepat untuk meningkatkan produktivitas pengguna.
Mempelajari perintah SQL SELECT dapat memungkinkan Anda membuat kueri kompleks yang tidak dapat dibuat dengan mudah menggunakan utilitas Query by Example seperti meja kerja MySQL.
Untuk meningkatkan produktivitas, Anda dapat membuat kode menggunakan meja kerja MySQL kemudian menyesuaikannya untuk memenuhi kebutuhan Anda . Ini hanya dapat terjadi jika Anda memahami cara kerja pernyataan SQL!
Ringkasan
- Kata kunci SQL SELECT digunakan untuk melakukan kueri data dari database dan itu adalah perintah yang paling umum digunakan.
- Bentuk paling sederhana memiliki sintaks "SELECT * FROM tableName;"
- Ekspresi juga dapat digunakan dalam pernyataan pilih. Contoh "PILIH kuantitas + harga DARI Penjualan"
- Perintah SQL SELECT juga dapat memiliki parameter opsional lain seperti WHERE, GROUP BY, HAVING, ORDER BY. Mereka akan dibicarakan nanti.
- Meja kerja MySQL dapat membantu mengembangkan pernyataan SQL, menjalankannya, dan menghasilkan hasil keluaran di jendela yang sama.