Rumah pangkalan data tutorial mysql mySQL UNION运算符的默认规则研究_MySQL

mySQL UNION运算符的默认规则研究_MySQL

Jun 01, 2016 pm 01:19 PM
default lembaran data

bitsCN.com
/* 建立数据表 */
create table td_base_data( id int(10) not null auto_increment,userId int(10) default '0',primary key (`id`))ENGINE=MyISAM DEFAULT CHARSET=gbk;
create table td_base_data_20090527( id int(10) not null auto_increment,userId int(10) default '0',primary key (`id`))ENGINE=MyISAM DEFAULT CHARSET=gbk;
/* 插入模拟记录 */
insert into td_base_data(userId) values(1);
insert into td_base_data(userId) values(45);
insert into td_base_data(userId) values(45);
insert into td_base_data(userId) values(1);
insert into td_base_data(userId) values(45);
insert into td_base_data_20090527(userId) values(1);
insert into td_base_data_20090527(userId) values(45);
insert into td_base_data_20090527(userId) values(45);
insert into td_base_data_20090527(userId) values(1);
insert into td_base_data_20090527(userId) values(45);
insert into td_base_data_20090527(userId) values(45);
/* 查询测试 */
select count(userId) as cnumber from td_base_data where userId = '45';
/* 3 */
select count(userId) as cnumber from td_base_data_20090527 where userId = '45';
/* 4 */
select (select count(userId) from td_base_data where userId = '45') + (select count(userId) from td_base_data_20090527 where userId = '45') as cnumber;
/* 7 */
select count(*) from
(
select id from td_base_data where userId = '45'
union
select id from td_base_data_20090527 where userId = '45'
) as tx;
/* 4 */
select count(*) from
(
select * from td_base_data where userId = '45'
union
select * from td_base_data_20090527 where userId = '45'
) as tx;
/* 4 */
/* 证明在mysql中,union本身有剔除重复项的作用 */

/* 查询手册定义 */
/*

查询mysql参考手册:
13.2.7.2. UNION语法
如果您对UNION不使用关键词ALL,则所有返回的行都是唯一的,如同您已经对整个结果集合使用了DISTINCT。如果您指定了ALL,您会从所有用过的SELECT语句中得到所有匹配的行。
DISTINCT关键词是一个自选词,不起任何作用,但是根据SQL标准的要求,在语法中允许采用。(在MySQL中,DISTINCT代表一个共用体的默认工作性质。)
*/
/* 证明在mysql中,union默认就是DISTINCT的 */
/*
查询mssql参考手册:
Transact-SQL 参考
UNION 运算符:
使用 UNION 组合两个查询的结果集的两个基本规则是:
1.所有查询中的列数和列的顺序必须相同。
2.数据类型必须兼容。
参数:
UNION
指定组合多个结果集并将其作为单个结果集返回。
ALL
在结果中包含所有的行,包括重复行。如果没有指定,则删除重复行。
*/
/* 证明在mssql中,union默认也是DISTINCT的 */

/* 查询标准定义 */
/*
查询SQL2003标准:
Transact-SQL 参考
4.10.6.2 Operators that operate on multisets and return multisets
MULTISET UNION is an operator that computes the union of two multisets. There are two variants, specified using ALL or DISTINCT, to either retain duplicates or remove duplicates.
7.13
Syntax Rules
6) If UNION, EXCEPT, or INTERSECT is specified and neither ALL nor DISTINCT is specified, then DISTINCT is implicit.
*/
/* 可见SQL2003标准定义了DISTINCT就是union的默认值 */

/* 正确查询,同时应该在两表的userId字段上做索引以加快查询速度 */
select count(userId) as cnumber from
(
select userId from td_base_data where userId = '45'
union all
select userId from td_base_data_20090527 where userId = '45'
) as tx;bitsCN.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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Teknologi pemampatan jadual data dalam MySQL Teknologi pemampatan jadual data dalam MySQL Jun 16, 2023 am 08:16 AM

MySQL ialah pangkalan data hubungan biasa yang merupakan komponen teras banyak laman web dan aplikasi. Apabila jumlah data menjadi lebih besar dan lebih besar, cara mengoptimumkan prestasi MySQL menjadi sangat penting. Salah satu bidang utama ialah pemampatan jadual data Dalam artikel ini kami akan memperkenalkan teknologi pemampatan jadual data dalam MySQL. Jadual termampat dan jadual tidak termampat Terdapat dua jenis jadual data dalam MySQL: jadual termampat dan jadual tidak termampat. Jadual tidak dimampatkan ialah jenis jadual lalai MySQL, yang menggunakan format baris panjang tetap untuk menyimpan data. Ini bermakna data

Bagaimana untuk mengkonfigurasi gerbang lalai Bagaimana untuk mengkonfigurasi gerbang lalai Dec 07, 2023 am 11:34 AM

Langkah-langkah untuk mengkonfigurasi gateway lalai: 1. Tentukan alamat IP penghala 2. Buka antara muka konfigurasi rangkaian komputer 3. Konfigurasi sambungan rangkaian 5. Masukkan alamat IP dan subnet mask; . Konfigurasi gerbang lalai ;7. Pengenalan terperinci: 1. Tentukan alamat IP penghala Alamat gerbang lalai biasanya alamat IP penghala Anda boleh mencari alamat IP penghala di belakang penghala atau dalam manual pengguna .

Konfigurasi get laluan lalai Konfigurasi get laluan lalai Dec 07, 2023 pm 03:02 PM

Langkah-langkah untuk mengkonfigurasi gateway lalai: 1. Buka panel kawalan 2. Pilih Rangkaian dan Internet 3. Konfigurasikan sambungan rangkaian; peranti. Pengenalan terperinci: 1. Buka Panel Kawalan, dalam sistem Windows, klik menu Mula, pilih "Panel Kawalan" 2. Pilih Rangkaian dan Internet, dalam Panel Kawalan, pilih "Rangkaian dan Internet" 3. Konfigurasikan sambungan rangkaian, dan lain-lain.

Teknologi operasi DDL jadual data dalam MySQL Teknologi operasi DDL jadual data dalam MySQL Jun 15, 2023 pm 07:55 PM

MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka yang sangat popular yang menyokong operasi DDL (bahasa definisi data) yang lengkap. DDL ialah bahasa yang digunakan untuk mentakrif dan mengurus pelbagai objek data dalam pangkalan data, termasuk jadual data, pandangan, indeks, dsb. Adalah sangat penting bagi pentadbir dan pembangun pangkalan data untuk mahir dalam teknologi operasi DDL bagi jadual data dalam MySQL. Artikel ini akan memperkenalkan secara terperinci teknologi dan kaedah pengendalian DDL bagi jadual data dalam MySQL, dan menyediakan contoh operasi praktikal. 1. Cipta jadual data Mencipta jadual data adalah dalam DDL.

mysql mengubah suai nama jadual data mysql mengubah suai nama jadual data Jun 20, 2023 pm 05:52 PM

MySQL mengubah suai jadual data: 1. Mula-mula semak semua jadual dalam pangkalan data, kodnya ialah: "SHOW TABLES;"; ;". 3. Semak sama ada nama jadual berjaya diubah suai Kodnya ialah: "SHOW TABLES;"

Teknik memuat semula jadual data dalam MySQL Teknik memuat semula jadual data dalam MySQL Jun 15, 2023 pm 11:28 PM

MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka. Fungsi asasnya sangat baik dalam reka bentuk pangkalan data, penyimpanan data dan pengurusan. Dalam MySQL, jadual data ialah unit penyimpanan data yang paling asas. Dalam aplikasi praktikal, muat semula jadual data ialah teknik pengendalian yang sangat biasa, yang boleh membantu kami meningkatkan kecekapan operasi pangkalan data dan meningkatkan kestabilan sistem. Artikel ini akan memperkenalkan teknik operasi ini secara terperinci daripada konsep, prinsip dan aplikasi praktikal jadual data lebihan beban dalam MySQL. 1. Apakah yang dimaksudkan dengan lebihan jadual data?

Bagaimana untuk mengkonfigurasi gerbang lalai Bagaimana untuk mengkonfigurasi gerbang lalai Dec 07, 2023 pm 02:56 PM

Langkah-langkah untuk mengkonfigurasi gerbang lalai: 1. Memahami persekitaran rangkaian 2. Dapatkan alamat IP penghala 3. Log masuk ke antara muka pengurusan penghala 4. Cari dan konfigurasikan tetapan port WAN; Simpan tetapan dan keluar 7. Periksa sama ada sambungan rangkaian adalah normal. Mengkonfigurasi get laluan lalai ialah langkah penting dalam persediaan rangkaian Ia menentukan penghala yang digunakan oleh hos untuk mengakses Internet.

Cara mengira nilai purata lajur berangka dalam jadual data menggunakan fungsi AVG MySQL Cara mengira nilai purata lajur berangka dalam jadual data menggunakan fungsi AVG MySQL Jul 24, 2023 pm 09:52 PM

Pengenalan kepada kaedah menggunakan fungsi AVG MySQL untuk mengira nilai purata lajur berangka dalam jadual data: MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka dengan pelbagai fungsi terbina dalam untuk memproses dan mengira data. Antaranya, fungsi AVG ialah fungsi yang digunakan untuk mengira purata lajur berangka. Artikel ini akan memperkenalkan cara menggunakan fungsi AVG untuk mengira nilai purata lajur berangka dalam jadual data MySQL dan memberikan contoh kod yang berkaitan. 1. Buat jadual data sampel Mula-mula, kita perlu mencipta jadual data sampel untuk demonstrasi. Katakan kita mempunyai fail yang dipanggil

See all articles