Bagaimana untuk menggunakan dengan seperti dalam pernyataan sql
WITH AS phrase, juga dipanggil bahagian subquery, boleh mentakrifkan serpihan SQL yang akan digunakan oleh keseluruhan pernyataan SQL. Ia boleh menjadikan pernyataan SQL lebih mudah dibaca, atau ia boleh digunakan sebagai bahagian yang menyediakan data di bahagian berlainan UNION ALL.
– untuk satu alias
with tmp as (select * from tb_name)
– untuk berbilang alias
with tmp as (select * from tb_name), tmp2 as (select * from tb_name2), tmp3 as (select * from tb_name3), …
– setara dengan membina Jadual e-sementara
with e as (select * from scott.emp e where e.empno=7499) select * from e;
– bersamaan dengan membina e dan d jadual sementara
with e as (select * from scott.emp), d as (select * from scott.dept) select * from e, d where e.deptno = d.deptno;
Sebenarnya, ia adalah untuk meletakkan banyak pernyataan sql yang berulang kali digunakan dengan sebagai dan mengambil alias , anda boleh menggunakannya dalam pertanyaan seterusnya, yang memainkan peranan pengoptimuman dalam kumpulan besar pernyataan SQL dan jelas.
Dengan sebagai penggunaan untuk memasukkan data ke dalam jadual
insert into table2 with s1 as (select rownum c1 from dual connect by rownum <= 10), s2 as (select rownum c2 from dual connect by rownum <= 10) select a.c1, b.c2 from s1 a, s2 b where…;
pilih s1.sid, s2.sid daripada s1, s2 perlu mempunyai syarat yang berkaitan, jika tidak, hasilnya akan menjadi produk Cartesian .
dengan yang setara dengan paparan maya.
dengan sebagai frasa, juga dipanggil pemfaktoran subkueri, membolehkan anda melakukan banyak perkara, mentakrifkan serpihan sql, yang akan digunakan oleh keseluruhan pernyataan sql. Kadang-kadang, ia adalah untuk menjadikan pernyataan SQL lebih mudah dibaca, atau mungkin di bahagian kesatuan yang berlainan semuanya sebagai bahagian yang menyediakan data.
Terutama berguna untuk kesatuan semua. Kerana setiap bahagian kesatuan semua mungkin sama, tetapi jika setiap bahagian dilaksanakan sekali, kosnya terlalu tinggi, jadi anda boleh menggunakan dengan sebagai frasa, yang hanya perlu dilaksanakan sekali. Jika nama jadual yang ditakrifkan oleh frasa dengan sebagai dipanggil lebih daripada dua kali, pengoptimum akan secara automatik meletakkan data yang diperolehi dengan sebagai frasa ke dalam jadual temp Jika ia hanya dipanggil sekali, ia tidak akan. Gesaan terwujud memaksa data dalam dengan sebagai frasa untuk dimasukkan ke dalam jadual sementara global. Banyak pertanyaan boleh dipercepatkan dengan cara ini.
with sql1 as (select to_char(a) s_name from test_tempa), sql2 as (select to_char(b) s_name from test_tempb where not exists (select s_name from sql1 where rownum=1)) select * from sql1 union all select * from sql2 union all select ‘no records’ from dual where not exists (select s_name from sql1 where rownum=1) and not exists (select s_name from sql2 where rownum=1);
Kelebihan pernyataan WITH:
(1) kebolehbacaan SQL dipertingkatkan. Sebagai contoh, berikan nama yang bermakna kepada yang khusus dengan subkueri, dsb.
(2). Subkueri dengan hanya dilaksanakan sekali, dan hasilnya disimpan dalam ruang jadual sementara pengguna, yang boleh dirujuk beberapa kali untuk meningkatkan prestasi.
Contoh: Semasa proses mengimport EXCEL, kadangkala data perlu disimpan dalam jadual sementara Pada kali seterusnya import dilakukan, data dalam jadual sementara akan dikosongkan , kadangkala Jika terdapat masalah konkurensi, dua pengguna mungkin mengendalikan data masing-masing secara berasingan, jadi ia boleh menyebabkan kekeliruan, bagaimanapun, anda boleh menggunakan fungsi WITH dan pernyataan UNION untuk menyambung pernyataan SQL dan menyimpannya dalam SESSION untuk mengeksport maklumat ralat, anda boleh menggunakan data binaan Penyata ini.
Cadangan berkaitan: "tutorial mysql"
Atas ialah kandungan terperinci Bagaimana untuk menggunakan dengan seperti dalam pernyataan sql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



HQL dan SQL dibandingkan dalam rangka kerja Hibernate: HQL (1. Sintaks berorientasikan objek, 2. Pertanyaan bebas pangkalan data, 3. Keselamatan jenis), manakala SQL mengendalikan pangkalan data secara langsung (1. Piawaian bebas pangkalan data, 2. Boleh laku kompleks pertanyaan dan manipulasi data).

"Penggunaan Operasi Bahagian dalam OracleSQL" Dalam OracleSQL, operasi bahagi ialah salah satu operasi matematik yang biasa. Semasa pertanyaan dan pemprosesan data, operasi pembahagian boleh membantu kami mengira nisbah antara medan atau memperoleh hubungan logik antara nilai tertentu. Artikel ini akan memperkenalkan penggunaan operasi pembahagian dalam OracleSQL dan memberikan contoh kod khusus. 1. Dua cara operasi bahagi dalam OracleSQL Dalam OracleSQL, operasi bahagi boleh dilakukan dalam dua cara berbeza.

Oracle dan DB2 ialah dua sistem pengurusan pangkalan data hubungan yang biasa digunakan, setiap satunya mempunyai sintaks dan ciri SQL tersendiri. Artikel ini akan membandingkan dan membezakan antara sintaks SQL Oracle dan DB2, dan memberikan contoh kod khusus. Sambungan pangkalan data Dalam Oracle, gunakan pernyataan berikut untuk menyambung ke pangkalan data: CONNECTusername/password@database Dalam DB2, pernyataan untuk menyambung ke pangkalan data adalah seperti berikut: CONNECTTOdataba

Tafsiran teg SQL dinamik MyBatis: Penjelasan terperinci tentang penggunaan teg Set MyBatis ialah rangka kerja lapisan kegigihan yang sangat baik Ia menyediakan banyak teg SQL dinamik dan boleh membina pernyataan operasi pangkalan data secara fleksibel. Antaranya, tag Set ialah tag yang digunakan untuk menjana klausa SET dalam kenyataan UPDATE, yang sangat biasa digunakan dalam operasi kemas kini. Artikel ini akan menerangkan secara terperinci penggunaan teg Set dalam MyBatis dan menunjukkan kefungsiannya melalui contoh kod tertentu. Apakah itu Set tag Set tag digunakan dalam MyBati

Apakah Identity dalam SQL? Contoh kod khusus diperlukan Dalam SQL, Identity ialah jenis data khas yang digunakan untuk menjana nombor penambahan automatik. Ia sering digunakan untuk mengenal pasti setiap baris data dalam jadual. Lajur Identiti sering digunakan bersama dengan lajur kunci utama untuk memastikan setiap rekod mempunyai pengecam unik. Artikel ini akan memperincikan cara menggunakan Identiti dan beberapa contoh kod praktikal. Cara asas untuk menggunakan Identity ialah menggunakan Identit semasa membuat jadual.

Latar Belakang: Salah satu keperluan syarikat ialah komponen log penjejakan pautan sedia ada syarikat mesti menyokong pencetakan masa pelaksanaan SQL MySQL Kaedah biasa untuk melaksanakan penjejakan pautan adalah dengan melaksanakan antara muka pemintas atau antara muka penapis yang disediakan oleh rangka kerja atau alat pihak ketiga. MySQL tidak terkecuali, ia hanya melaksanakan antara muka pemintas yang didorong oleh MySQL. Terdapat versi saluran yang berbeza yang secara khusus melaksanakan MySQL, dan antara muka pemintas versi berbeza adalah berbeza, jadi anda perlu melaksanakan pemintas tindak balas mengikut versi berbeza pemacu MySQL yang anda gunakan Seterusnya, kami akan memperkenalkan saluran MySQL 5 dan 6 pelaksanaan versi masing-masing. MySQL5 dilaksanakan di sini menggunakan saluran MySQL versi 5.1.18 sebagai contoh untuk melaksanakan Statem

Penyelesaian: 1. Semak sama ada pengguna log masuk mempunyai kebenaran yang mencukupi untuk mengakses atau mengendalikan pangkalan data, dan pastikan pengguna mempunyai kebenaran yang betul 2. Semak sama ada akaun perkhidmatan SQL Server mempunyai kebenaran untuk mengakses fail yang ditentukan atau folder, dan pastikan akaun Mempunyai kebenaran yang mencukupi untuk membaca dan menulis fail atau folder 3. Semak sama ada fail pangkalan data yang ditentukan telah dibuka atau dikunci oleh proses lain, cuba tutup atau lepaskan fail, dan jalankan semula pertanyaan 4 . Cuba sebagai pentadbir Jalankan Studio Pengurusan seperti dsb.

Apabila Springboot+Mybatis-plus tidak menggunakan pernyataan SQL untuk melaksanakan operasi penambahan berbilang jadual, masalah yang saya hadapi akan terurai dengan mensimulasikan pemikiran dalam persekitaran ujian: Cipta objek BrandDTO dengan parameter untuk mensimulasikan parameter yang dihantar ke latar belakang bahawa adalah amat sukar untuk melaksanakan operasi berbilang jadual dalam Mybatis-plus Jika anda tidak menggunakan alatan seperti Mybatis-plus-join, anda hanya boleh mengkonfigurasi fail Mapper.xml yang sepadan dan mengkonfigurasi ResultMap yang berbau dan kemudian. tulis pernyataan sql yang sepadan Walaupun kaedah ini kelihatan menyusahkan, ia sangat fleksibel dan membolehkan kita
