Pernyataan PILIH MySQL dengan Contoh

Isi kandungan:

Anonim

Apakah pertanyaan SELECT di MySQL?

SELECT QUERY digunakan untuk mengambil data dari pangkalan data MySQL. Pangkalan data menyimpan data untuk pengambilan kemudian. Tujuan MySQL Select adalah untuk kembali dari jadual pangkalan data, satu atau lebih baris yang sesuai dengan kriteria tertentu. Pilih pertanyaan dapat digunakan dalam bahasa skrip seperti PHP, Ruby, atau Anda dapat melaksanakannya melalui command prompt.

Sintaks pernyataan SQL SELECT

Ini adalah perintah SQL yang paling kerap digunakan dan mempunyai 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 membolehkan pangkalan data mengetahui bahawa anda ingin mengambil data.
  • [JARAK | SEMUA] adalah kata kunci pilihan yang boleh digunakan untuk menyesuaikan hasil yang dikembalikan dari penyataan SQL SELECT. Sekiranya tidak ada yang ditentukan maka SEMUA dianggap sebagai lalai.
  • {* | [fieldExpression [AS newName]} sekurang-kurangnya satu bahagian mesti ditentukan, "*" memilih semua medan dari nama jadual yang ditentukan, fieldExpression melakukan beberapa pengiraan pada bidang yang ditentukan seperti menambahkan nombor atau menyatukan dua medan rentetan menjadi satu.
  • DARI tableName adalah wajib dan mesti mengandungi sekurang-kurangnya satu jadual, beberapa jadual mesti dipisahkan menggunakan koma atau bergabung menggunakan kata kunci JOIN.
  • DI MANA keadaan adalah pilihan, ia dapat digunakan untuk menentukan kriteria dalam set hasil yang dikembalikan dari pertanyaan.
  • GROUP BY digunakan untuk mengumpulkan rekod yang mempunyai nilai medan yang sama.
  • Keadaan HAVING digunakan untuk menentukan kriteria ketika bekerja menggunakan kata kunci GROUP BY.
  • ORDER BY digunakan untuk menentukan susunan urutan set hasil.

*

Simbol Bintang digunakan untuk memilih semua lajur dalam jadual. Contoh pernyataan PILIHAN yang sederhana kelihatan seperti yang ditunjukkan di bawah.

SELECT * FROM `members`;

Pernyataan di atas memilih semua bidang dari jadual ahli. Tanda titik koma adalah penghentian pernyataan. Tidak wajib tetapi dianggap sebagai amalan yang baik untuk mengakhiri penyataan anda seperti itu.

Contoh praktikal

Klik untuk memuat turun DB myflix yang digunakan untuk contoh praktikal.

Anda boleh belajar mengimport fail .sql ke dalam MySQL WorkBench

Contohnya dilakukan pada dua jadual berikut

Jadual 1: jadual ahli

nombor keahlian nama penuh jantina tarikh lahir alamat_ fizikal alamat pos nombor samb e-mel
1 Janet Jones Perempuan 21-07-1980 Petak Jalan Pertama No 4 Beg Persendirian 0759 253 542 Alamat e-mel ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya.
2 Janet Smith Jones Perempuan 23-06-1980 Melrose 123 BULAN BULAN Alamat e-mel ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya.
3 Robert Phil Lelaki 12-07-1989 Jalan ke-3 34 BULAN 12345 Alamat e-mel ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya.
4 Gloria Williams Perempuan 14-02-1984 Jalan ke-2 23 BULAN BULAN BULAN

Jadual 2: jadual filem

filem_id tajuk pengarah tahun_dikeluarkan kategori_id
1 Lanun dari Caribean 4 Rob Marshall 2011 1
2 Melupakan Sarah Marshal Nicholas Stoller 2008 2
3 X-Lelaki BULAN 2008 BULAN
4 Nama Kod Hitam Edgar Jimz 2010 BULAN
5 Gadis Kecil Ayah BULAN 2007 8
6 Malaikat dan Syaitan BULAN 2007 6
7 Kod Davinci BULAN 2007 6
9 Bulan madu John Schultz 2005 8
16 67% Bersalah BULAN 2012 BULAN

Mendapatkan senarai ahli

Anggaplah bahawa kita ingin mendapatkan senarai semua ahli perpustakaan yang berdaftar dari pangkalan data kita, kita akan menggunakan skrip yang ditunjukkan di bawah untuk melakukannya.

SELECT * FROM `members`;

Melaksanakan skrip di atas di meja kerja MySQL menghasilkan hasil berikut.

nombor keahlian nama penuh jantina tarikh lahir alamat_ fizikal alamat pos nombor samb e-mel
1 Janet Jones Perempuan 21-07-1980 Petak Jalan Pertama No 4 Beg Persendirian 0759 253 542 Alamat e-mel ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya.
2 Janet Smith Jones Perempuan 23-06-1980 Melrose 123 BULAN BULAN Alamat e-mel ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya.
3 Robert Phil Lelaki 12-07-1989 Jalan ke-3 34 BULAN 12345 Alamat e-mel ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya.
4 Gloria Williams Perempuan 14-02-1984 Jalan ke-2 23 BULAN BULAN BULAN

Pertanyaan kami di atas telah mengembalikan semua baris dan lajur dari jadual ahli.

Katakan kita hanya berminat mendapatkan hanya nama penuh, jantina, alamat_ fizikal dan e-mel sahaja. Skrip berikut akan membantu kita mencapainya.

SELECT `full_names`,`gender`,`physical_address`, `email` FROM `members`;

Melaksanakan skrip di atas di meja kerja MySQL menghasilkan hasil berikut.

nama penuh jantina alamat_ fizikal e-mel
Janet Jones Perempuan Petak Jalan Pertama No 4 Alamat e-mel ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya.
Janet Smith Jones Perempuan Melrose 123 Alamat e-mel ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya.
Robert Phil Lelaki Jalan ke-3 34 Alamat e-mel ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya.
Gloria Williams Perempuan Jalan ke-2 23 BULAN

Mendapatkan senarai filem

Ingatlah dalam perbincangan di atas bahawa kita menyebut ungkapan telah digunakan dalam pernyataan SELECT. Katakan kita mahu mendapatkan senarai filem dari pangkalan data kita. Kami mahu tajuk filem dan nama pengarah filem dalam satu bidang. Nama pengarah filem harus dalam tanda kurung. Kami juga ingin mendapatkan tahun filem ini dilancarkan. Skrip berikut membantu kita melakukannya.

SELECT Concat(`title`, ' (', `director`, ')') , `year_released` FROM `movies`;

SINI

  • Fungsi Concat () MySQL digunakan menggabungkan nilai lajur bersama-sama.
  • Baris "Concat (` title`, '(', `director ',') ') mendapat tajuk, menambah tanda kurung pembuka diikuti dengan nama pengarah kemudian menambahkan tanda kurung penutup.

Bahagian rentetan dipisahkan menggunakan koma dalam fungsi Concat ().

Menjalankan skrip di atas di MySQL workbench menghasilkan set hasil berikut.

Concat ("tajuk", "('," pengarah ",") ") tahun_dikeluarkan
Pirates of the Caribean 4 (Rob Marshall) 2011
Melupakan Sarah Marshal (Nicholas Stoller) 2008
BULAN 2008
Nama Kod Hitam (Edgar Jimz) 2010
BULAN 2007
BULAN 2007
BULAN 2007
Bulan madu (John Schultz) 2005
BULAN 2012

Nama bidang Alias

Contoh di atas mengembalikan kod Gabungan sebagai nama bidang untuk hasil kami. Andaikan kita mahu menggunakan nama bidang yang lebih deskriptif dalam set hasil kita. Kami akan menggunakan nama alias lajur untuk mencapainya. Berikut adalah sintaks asas untuk nama alias lajur

SELECT `column_name|value|expression` [AS] `alias_name`;

SINI

  • "SELECT` column_name | value | expression "" adalah pernyataan SELECT biasa yang dapat berupa nama, nilai atau ekspresi lajur.
  • "[AS]" adalah kata kunci pilihan sebelum nama alias yang menunjukkan ungkapan, nilai atau nama bidang akan dikembalikan sebagai.
  • "` alias_name` " adalah nama alias yang ingin kami kembalikan dalam hasil kami yang ditetapkan sebagai nama medan.

Pertanyaan di atas dengan nama lajur yang lebih bermakna

SELECT Concat(`title`, ' (', `director`, ')') AS 'Concat', `year_released` FROM `movies`;

Kami mendapat hasil berikut

Concat tahun_dikeluarkan
Pirates of the Caribean 4 (Rob Marshall) 2011
Melupakan Sarah Marshal (Nicholas Stoller) 2008
BULAN 2008
Nama Kod Hitam (Edgar Jimz) 2010
BULAN 2007
BULAN 2007
BULAN 2007
Bulan madu (John Schultz) 2005
BULAN 2012

Mendapatkan senarai ahli yang menunjukkan tahun kelahiran

Andaikan kita ingin mendapatkan senarai semua ahli yang menunjukkan nombor keahlian, nama penuh dan tahun lahir, kita boleh menggunakan fungsi rentetan KIRI untuk mengekstrak tahun kelahiran dari tarikh lahir. Skrip yang ditunjukkan di bawah ini membantu kita untuk melakukannya.

SELECT `membership_number`,`full_names`,LEFT(`date_of_birth`,4) AS `year_of_birth` FROM members;

SINI

  • "LEFT (` date_of_birth`, 4) " yang fungsi tali KIRI menerima tarikh lahir sebagai parameter dan hanya mengembalikan 4 aksara dari kiri.
  • "AS` year_of_birth` " adalah nama alias lajur yang akan dikembalikan dalam hasil kami. Perhatikan kata kunci AS adalah pilihan , anda boleh membiarkannya dan pertanyaan masih akan berfungsi.

Menjalankan pertanyaan di atas di MySQL workbench terhadap myflixdb memberikan hasil yang ditunjukkan di bawah.

nombor keahlian nama penuh 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 memaparkan semua nama bidang dari jadual kategori kami.

1. Klik kanan pada Jadual Kategori. Klik pada "Pilih Baris - Had 1000"

2. MySQL workbench secara automatik akan membuat pertanyaan SQL dan tampal di editor.

3. Hasil Pertanyaan akan ditunjukkan

Perhatikan bahawa kita sendiri tidak menulis pernyataan SELECT. Meja kerja MySQL menghasilkannya untuk kita.

Mengapa menggunakan perintah SELECT SQL ketika kita mempunyai MySQL Workbench?

Sekarang, anda mungkin berfikir mengapa mempelajari perintah SQL SELECT untuk meminta data dari pangkalan data apabila anda hanya dapat menggunakan alat seperti meja kerja MySQL untuk mendapatkan hasil yang sama tanpa pengetahuan bahasa SQL. Sudah tentu itu mungkin, tetapi belajar bagaimana menggunakan perintah SELECT memberi anda lebih banyak fleksibiliti dan kawalan terhadap pernyataan SQL SELECT anda .

Meja kerja MySQL termasuk dalam kategori alat " Query by Contoh " QBE. Ini bertujuan untuk membantu menghasilkan pernyataan SQL dengan lebih cepat untuk meningkatkan produktiviti pengguna.

Mempelajari perintah SQL SELECT dapat membolehkan anda membuat pertanyaan kompleks yang tidak dapat dihasilkan dengan mudah menggunakan utiliti Query by Contoh seperti MySQL workbench.

Untuk meningkatkan produktiviti anda boleh menghasilkan kod menggunakan meja kerja MySQL kemudian sesuaikannya untuk memenuhi keperluan anda . Ini hanya boleh berlaku sekiranya anda memahami bagaimana penyataan SQL berfungsi!

Ringkasan

  • Kata kunci SQL SELECT digunakan untuk meminta data dari pangkalan data dan ini adalah perintah yang paling biasa digunakan.
  • Bentuk paling mudah mempunyai sintaks "SELECT * FROM tableName;"
  • Ungkapan juga boleh digunakan dalam pernyataan pilih. Contoh "PILIH kuantiti + harga DARI Jualan"
  • Perintah SQL SELECT juga boleh mempunyai parameter pilihan lain seperti WHERE, GROUP BY, HAVING, ORDER BY. Mereka akan dibincangkan kemudian.
  • Meja kerja MySQL dapat membantu mengembangkan pernyataan SQL, melaksanakannya dan menghasilkan hasil output pada tetingkap yang sama.