Rumah >pangkalan data >tutorial mysql >Apakah maksud mysql?

Apakah maksud mysql?

藏色散人
藏色散人asal
2021-11-29 11:59:505582semak imbas

mysql in selalunya digunakan dalam ungkapan tempat Fungsinya adalah untuk menanyakan data dalam julat tertentu Sintaks penggunaannya adalah seperti "pilih * dari medan di mana (nilai1, nilai2, nilai3,...) ".

Apakah maksud mysql?

Persekitaran pengendalian artikel ini: sistem Windows 7, mysql5.7, Dell G3.

Apakah maksud mysql in?

Penjelasan terperinci tentang penggunaan in dalam mysql

1 🎜>

Dalam mysql, in sering digunakan di mana ungkapan berfungsi untuk menanyakan data dalam julat tertentu.

select * from where field in (value1,value2,value3,…)
Apabila IN didahului oleh operator NOT, ia bermakna bertentangan dengan IN, iaitu, jangan pilih dalam item senarai ini

select * from where field not in (value1,value2,value3,…)
2. IN subquery

Dalam lebih banyak kes, nilai item senarai IN adalah samar-samar dan boleh diperolehi melalui subkueri:

SELECT * FROM article WHERE uid IN(SELECT uid FROM user WHERE status=0)
Dalam contoh SQL ini, kami melaksanakan kaedah untuk mengetahui semua keadaan Semua siaran oleh 0 pengguna (mungkin diharamkan). Mula-mula, dapatkan semua pengguna dengan status=0 melalui pertanyaan:

SELECT uid FROM user WHERE status=0
Kemudian gunakan hasil pertanyaan sebagai item senarai IN untuk mencapai hasil pertanyaan akhir Perhatikan bahawa hasil yang dikembalikan dalam subkueri mestilah medan Senaraikan item.

Dalam subquery in, kita sering menghadapi masalah kecekapan query yang rendah Penyelesaiannya adalah seperti berikut:

1 Masih menggunakan subquery dan query sekali lagi

SELECT * FROM basic_zdjbxx WHERE suiji IN ( SELECT zdcode FROM ( SELECT zdcode FROM basic_h WHERE zdcode != "" ) AS h )
2. Gunakan LEFT JOIN

SELECT zd.* FROM ( SELECT DISTINCT zdcode FROM basic_h WHERE zdcode != "" ) AS h LEFT JOIN basic_zdjbxx zd ON zd.suiji = h.zdcode
3 Arahan tambahan untuk operator IN

Item senarai IN bukan sahaja menyokong nombor, tetapi juga aksara dan juga jenis masa dan tarikh, dan Jenis item data yang berbeza ini dicampur dan disusun tanpa konsisten dengan jenis lajur:

SELECT * FROM user WHERE uid IN(1,2,'3','c')
IN hanya boleh melakukan perbandingan julat pada satu medan Jika anda ingin menentukan lebih banyak medan, anda boleh menggunakan DAN atau operasi logik ATAU:

  SELECT * FROM user WHERE uid IN(1,2) OR username IN('admin','manong')
Selepas menggunakan operator logik DAN atau ATAU, IN juga boleh digunakan dengan operator lain seperti LIKE, >=, =, dsb.

4. Berkenaan dengan kecekapan operator IN

Jika item senarai IN adalah pasti, maka berbilang OR boleh digunakan sebagai ganti:

SELECT * FROM user WHERE uid IN (2,3,5)
// The bersamaan ialah:

SELECT * FROM user WHERE (uid=2 OR aid=3 OR aid=5)
Secara umumnya dipercayai bahawa:

1 Jika anda beroperasi pada medan indeks, menggunakan OR adalah lebih cekap daripada IN, tetapi apabila item senarai tidak pasti (. jika perlu subquery untuk mendapatkan hasil), anda mesti menggunakan operator IN. Selain itu, apabila data jadual subquery lebih kecil daripada pertanyaan utama, operator IN juga boleh digunakan.

2 Apabila dalam atau tidak menambah indeks pada medan, lebih banyak medan disambungkan (1 atau 2 atau 3 atau 4 atau...), kecekapan pertanyaan atau jauh lebih rendah daripada itu. daripada dalam.

Pembelajaran yang disyorkan: "

tutorial video mysql"

Atas ialah kandungan terperinci Apakah maksud mysql?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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
Artikel sebelumnya:mysql apa maksudnyaArtikel seterusnya:mysql apa maksudnya