Rumah > pangkalan data > tutorial mysql > Bagaimana untuk menggunakan subquery mysql

Bagaimana untuk menggunakan subquery mysql

王林
Lepaskan: 2023-06-02 10:31:05
ke hadapan
1883 orang telah melayarinya

Pilih pernyataan yang muncul dalam pernyataan lain dipanggil subkueri atau pertanyaan dalaman dipanggil pertanyaan utama atau pertanyaan luar

-- 子查询
-- 查询的条件来自于另一查询的结果
SELECT * FROM t_user WHERE number=(SELECT number FROM t_user WHERE NAME='张三')
Salin selepas log masuk

Sudah tentu, subkueri juga mempunyai jenis, yang dibahagikan kepada Jenis berikut. :

  • subkueri skalar (set hasil hanya mempunyai satu baris dan satu lajur)

  • subkueri lajur (set hasil hanya mempunyai satu lajur dan berbilang baris)

  • Subkueri baris (set hasil mempunyai satu baris dan berbilang lajur) (kurang)

  • Subkueri jadual (set keputusan biasanya mempunyai berbilang baris dan berbilang lajur)

Di sini kita mengambil jadual t_user baharu sebagai contoh

Bagaimana untuk menggunakan subquery mysql

Perlu diambil perhatian bahawa: klasifikasi di sini adalah berdasarkan hasil subkueri terbenam Contohnya, pernyataan sql di atas ialah subkueri skalar

Bagaimana untuk menggunakan subquery mysql

Hasil subkueri hanya mempunyai satu baris dan satu lajur

Kemudian kita berdasarkan kedudukan subkueri dalam pernyataan sql Mari kita bincangkan:

Selepas pilih: hanya menyokong subkueri skalar

-- select语句后面,将t1查询出的结果作为子查询的条件
SELECT t1.number,
  (SELECT NAME FROM t_user t2 WHERE t1.name = t2.name)
FROM t_user t1
Salin selepas log masuk

Hasil pertanyaan:

< . >Apa yang perlu diperhatikan di sini ialah kemas kini dan padamBagaimana untuk menggunakan subquery mysql

KEMASKINI t_user SET NAME='abc' WHERE number=(SELECT number FROM t_user WHERE weight=110)

DELETE FROM t_user WHERE id=(SELECT id FROM t_user WHERE id=7)

MySQL tidak membenarkan kami melaksanakan dua sql di atas dengan cara ini:

Mekanisme asas mysql menghalang kami daripada mengendalikan jadual ini

yang mengubah struktur jadual ini bermakna subkueri tidak boleh menanyakan jadual yang sedang dikendalikan

di mana diikuti dengan: boleh. diikuti dengan subkueri skalar, subkueri lajur, subkueri barisBagaimana untuk menggunakan subquery mysql

-- insert into 后跟子查询
INSERT INTO t_user(number,NAME,age,birthday,weight,sex,opertime)
       SELECT number,NAME,age,birthday,weight,sex,NOW() FROM t_user WHERE id=3
Salin selepas log masuk
< Selepas 🎜>dari: Ia boleh diikuti dengan subkueri jadual

Hasil pertanyaan perkataan jadual ialah berbilang baris dan berbilang lajur, iaitu,. meja

-- where后跟标量子查询
-- 查询体重最大的人信息
SELECT * FROM t_user WHERE weight=(SELECT MAX(weight) FROM t_user)
-- where后跟列子查询
-- 查询体重大于或等于130的人信息
SELECT * FROM t_user WHERE weight IN (SELECT weight FROM t_user WHERE weight>=130)
-- where后跟行子查询
-- 查询年龄最大,体重最大的人的信息
SELECT * FROM t_user 
     WHERE (age,weight) = (SELECT MAX(age),MAX(weight) FROM t_user)
Salin selepas log masuk

Keputusan:

Atas ialah kandungan terperinci Bagaimana untuk menggunakan subquery mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan