Rumah > pangkalan data > SQL > Pembelajaran pengenalan SQL: Analisis ringkas tentang penggunaan kata kunci UNION

Pembelajaran pengenalan SQL: Analisis ringkas tentang penggunaan kata kunci UNION

青灯夜游
Lepaskan: 2022-02-21 10:55:22
ke hadapan
5706 orang telah melayarinya

Dalam proses pembangunan kami, kami sering menggunakan berbilang hasil pertanyaan untuk dipaparkan secara terus. Artikel ini adalah tentang mempelajari SQL Mari kita lihat kata kunci UNION dalam SQL dan cara menggunakannya saya harap ia akan membantu semua orang.

Pembelajaran pengenalan SQL: Analisis ringkas tentang penggunaan kata kunci UNION

Kata kunci UNION dalam SQL akan memaparkan keputusan berbilang syarat pertanyaan.

UNION

Maksud Bahasa Cina bagi UNION ialah kesatuan, iaitu, menggabungkan hasil dua atau lebih pernyataan SELECT. Petua penggunaan adalah seperti berikut:

  • Setiap pernyataan SELECT di dalam UNION mesti mempunyai bilangan lajur yang sama.
  • Lajur mesti mempunyai jenis data yang serupa.
  • Susunan lajur dalam setiap pernyataan SELECT mestilah sama.

Bilangan lajur yang sama

Seperti yang ditunjukkan di bawah, gunakan data yang diperkenalkan dalam bab sebelumnya sebagai data demonstrasi

Pembelajaran pengenalan SQL: Analisis ringkas tentang penggunaan kata kunci UNION

Buat jadual masing-masing s_user dan jadual s_user_1

CREATE TABLE `s_user` (
  `userid` int(11) NOT NULL AUTO_INCREMENT,
  `user_name` varchar(255) DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  `pass_word` varchar(255) DEFAULT NULL,
  `salt` varchar(255) DEFAULT NULL,
  `state` varchar(255) DEFAULT NULL,
  `create_time` datetime DEFAULT NULL,
  PRIMARY KEY (`userid`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
Salin selepas log masuk

Data ujian adalah seperti berikut:

INSERT INTO `test`.`s_user`(`userid`, `user_name`, `name`, `pass_word`, `salt`, `state`, `create_time`) VALUES (1, '小米', '小米', '123123', '123', '1', '2022-02-10 19:48:43');
INSERT INTO `test`.`s_user`(`userid`, `user_name`, `name`, `pass_word`, `salt`, `state`, `create_time`) VALUES (2, '小白', '小白', '123123', '123', '1', '2022-02-10 19:48:43');

INSERT INTO `test`.`s_user_1`(`userid`, `user_name`, `name`, `pass_word`, `salt`, `state`, `create_time`) VALUES (1, '小红', '小红', '123123', '123', '1', '2022-02-10 19:48:43');
INSERT INTO `test`.`s_user_1`(`userid`, `user_name`, `name`, `pass_word`, `salt`, `state`, `create_time`) VALUES (2, '小黄', '小黄', '123123', '123', '1', '2022-02-10 19:48:43');
Salin selepas log masuk

Setiap pernyataan SELECT di dalam UNION mesti mempunyai bilangan lajur yang sama: pertama tanya yang mempunyai lajur yang sama SQL

SELECT * FROM `s_user` UNION SELECT * FROM `s_user_1`
Salin selepas log masuk

menanyakan semua lajur Anda boleh melihat bahawa hasil pelaksanaan adalah seperti berikut.

Pembelajaran pengenalan SQL: Analisis ringkas tentang penggunaan kata kunci UNION

Jika pertanyaan pertama adalah untuk semua lajur dan pertanyaan kedua adalah untuk tiga medan, apakah hasil pertanyaan Sekarang laksanakan SQL berikut:

Penggunaan salah

SELECT * FROM `s_user` UNION SELECT userid,name,pass_word FROM `s_user_1`
Salin selepas log masuk

Pembelajaran pengenalan SQL: Analisis ringkas tentang penggunaan kata kunci UNION

Mesej ralat: Pernyataan SELECT digunakan untuk menanyakan lajur berbeza Nombor

Penggunaan yang betul

SELECT userid,name,pass_word  FROM `s_user` UNION SELECT userid,name,pass_word FROM `s_user_1`
Salin selepas log masuk

Pembelajaran pengenalan SQL: Analisis ringkas tentang penggunaan kata kunci UNION

Jenis data

Berbilang pertanyaan dilihat di atas Bilangan lajur mesti adalah sama, jadi jika bilangan lajur yang ditanya adalah sama tetapi jenis data medan pertanyaan adalah berbeza, bolehkah ia diproses secara normal? Seterusnya, gantikan kata laluan dalam pertanyaan s_user dengan create_time untuk membuat pertanyaan. Anda boleh melihatnya selepas membuat pertanyaan. Dalam pertanyaan SQL, jenis data lajur adalah tidak relevan. Sudah tentu, dalam perniagaan sebenar, mereka tidak akan ditetapkan kepada jenis yang berbeza.

SELECT userid,name,create_time  FROM `s_user` UNION SELECT pass_word,name,userid FROM `s_user_1`
Salin selepas log masuk

Pembelajaran pengenalan SQL: Analisis ringkas tentang penggunaan kata kunci UNION

Tertib lajur

  Apabila menggunakan kata kunci UNION untuk membuat pertanyaan, adakah ia berkaitan dengan susunan lajur seperti yang dilihat di atas, ia mungkin berkaitan dengan susunan lajur. Tertib itu berkaitan, dan ia mungkin tidak berkaitan, jadi mari kita lakukan ujian. Anda dapat melihat bahawa hasil pelaksanaan tidak ada kaitan dengan susunan lajur. Dalam perniagaan sebenar, berbilang pertanyaan digabungkan, jadi susunan lajur yang kami tentukan dalam projek perlu konsisten.

SELECT create_time,userid,name  FROM `s_user` UNION SELECT pass_word,name,userid FROM `s_user_1`
Salin selepas log masuk

Pembelajaran pengenalan SQL: Analisis ringkas tentang penggunaan kata kunci UNION

Perbezaan antara UNION dan UNION ALL

  Untuk menguji perbezaan antara UNION dan UNION ALL, anda perlu menambah [Xiaobai] ke jadual data s_user_1, dan bandingkan dengan jadual [Xiaobai] dalam s_user kedua-duanya wujud dalam pangkalan data Apakah hasil yang berbeza antara kedua-duanya?

INSERT INTO `test`.`s_user_1`(`userid`, `user_name`, `name`, `pass_word`, `salt`, `state`, `create_time`) VALUES (3, '小白', '小白', '123123', '123', '1', '2022-02-10 19:48:43');
Salin selepas log masuk

Pembelajaran pengenalan SQL: Analisis ringkas tentang penggunaan kata kunci UNION

Laksanakan dahulu:

SELECT user_name,name,pass_word,salt
FROM `s_user` UNION SELECT user_name,name,pass_word,salt FROM `s_user_1`
Salin selepas log masuk

Hasil pelaksanaan:

Pembelajaran pengenalan SQL: Analisis ringkas tentang penggunaan kata kunci UNION

Laksanakan semula

SELECT user_name,name,pass_word,salt
FROM `s_user` UNION ALL SELECT user_name,name,pass_word,salt FROM `s_user_1`
Salin selepas log masuk

Hasil pelaksanaan:

Pembelajaran pengenalan SQL: Analisis ringkas tentang penggunaan kata kunci UNION

Anda boleh melihat bahawa persatuan UNION mengalih keluar pendua, manakala UNION ALL menanyakan semua nilai tanpa mengalih keluar data.

Kesimpulan

  Okay, di atas adalah penggunaan kata kunci UNION dalam SQL Terima kasih kerana membacanya. Jika ada kekurangan, sila komen dan betulkan. Jumpa lagi lain kali.

Pembelajaran yang disyorkan: tutorial video mysql

Atas ialah kandungan terperinci Pembelajaran pengenalan SQL: Analisis ringkas tentang penggunaan kata kunci UNION. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sql
sumber:juejin.cn
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