Tutorial Subquery MySQL

Pengarang: Marcus Baldwin
Tarikh Penciptaan: 18 Jun 2021
Tarikh Kemas Kini: 13 Mungkin 2024
Anonim
Subquery In SQL | SQL Subquery Tutorial With Examples | SQL Tutorial For Beginners | Simplilearn
Video.: Subquery In SQL | SQL Subquery Tutorial With Examples | SQL Tutorial For Beginners | Simplilearn

Kandungan

Subqueries adalah pertanyaan bersarang di dalam yang lain. Mereka membolehkan anda untuk memisahkan bahagian kalimat dan menyediakan alternatif yang lebih mudah dibaca untuk operasi yang mungkin memerlukan gabungan dan kesatuan yang rumit. Subqueries dalam MySQL boleh mengembalikan nilai, baris, lajur, atau jadual data.


Gunakan subqueries untuk membuat ayat yang lebih mudah dibaca dan padat (Thinkstock Images / Comstock / Getty Images)

Sintaks

Sintaks dasar subquery adalah seperti berikut:

SELECT * FROM table1 WHERE columnA = (SELECT columnB FROM table2) GO

Subqueries harus mengandungi kenyataan "SELECT", "INSERT", "UPDATE", "DELETE", "SET" atau "DO", dan anda tidak boleh mengubah jadual dan menggunakannya dalam subquery pada waktu yang sama. Subqueries biasanya digunakan di sebelah kanan klausa WHERE, yang boleh mengandungi mana-mana perbandingan dan pengendali logik, seperti = (sama), <> (berbeza), <= (kurang atau sama),> atau "ANTARA" (di antara dua nilai), "TIDAK", "DAN" dan "ATAU". Anda juga boleh menggunakan kata kunci "DISTINCT", "GROUP BY", "ORDER BY" dan "LIMIT" dan juga digabungkan dengan kenyataan "JOIN". Selain dari sekatan terperinci, terdapat beberapa batasan ketika menulis subquery di MySQL.


Tidak ada sekatan pada bilangan subqueries yang dibuat dalam satu ayat. Anda boleh mendapatkan lebih banyak maklumat tentang subqueries dalam manual rujukan MySQL (lihat bahagian "Resources").

Contoh

Katakan anda mempunyai dua jadual: satu dengan nama pertama dan nama terakhir, alamat dan kod zip anggota mailing list, dan satu dengan bandar, negeri dan kod zip. Untuk mencari nama ahli yang tinggal di Brasilia, banyak "pilih" ayat boleh digunakan. Yang pertama akan mencari CEPs of Brasilia:

SELECT FROM FROM codes WHERE state = "BRASILIA" GO

Kemudian gunakan "pilih" untuk setiap kod zip yang dijumpai:

Nama SELECT, nama keluarga FROM addresses WHERE cep = [codecep] GO

Kaedah ini memakan masa dan mudah membuat kesilapan. Sangat mudah untuk kehilangan kod zip, terutamanya jika terdapat terlalu banyak daripada mereka. Cara yang lebih mudah untuk menyelesaikan tugas ini adalah menggunakan kalimat pertama sebagai subquery dalam kedua:


Nama SELECT, nama keluarga DARI alamat di mana cep = (SELECT cep FROM codes WHERE state = "BRASILIA") GO

Pertanyaan ini akan menunjukkan semua ahli senarai mel anda yang tinggal di Brasilia.