ホームページ データベース mysql チュートリアル mySQL UNION运算符的默认规则研究_MySQL

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

Jun 01, 2016 pm 01:19 PM
default データシート

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

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MySQL のデータテーブル圧縮テクノロジー MySQL のデータテーブル圧縮テクノロジー Jun 16, 2023 am 08:16 AM

MySQL は、多くの Web サイトやアプリケーションの中核コンポーネントである一般的なリレーショナル データベースです。データの量がますます大きくなるにつれて、MySQL のパフォーマンスを最適化する方法が特に重要になります。重要な領域の 1 つはデータ テーブルの圧縮です。この記事では、MySQL のデータ テーブル圧縮テクノロジを紹介します。圧縮テーブルと非圧縮テーブル MySQL には、圧縮テーブルと非圧縮テーブルの 2 種類のデータ テーブルがあります。非圧縮テーブルは MySQL のデフォルトのテーブル タイプで、固定長の行形式を使用してデータを格納します。これはデータを意味します

デフォルトゲートウェイを構成する デフォルトゲートウェイを構成する Dec 07, 2023 pm 03:02 PM

デフォルト ゲートウェイを構成する手順: 1. コントロール パネルを開きます; 2. ネットワークとインターネットを選択します; 3. ネットワーク接続を構成します; 4. IP アドレスを構成します; 5. DNS サーバー アドレスを構成します; 6. 構成を確認します; 7. ネットワークを再起動しますデバイス。詳細な導入: 1. Windows システムで、コントロール パネルを開き、[スタート] メニューをクリックし、[コントロール パネル] を選択します; 2. コントロール パネルで、[ネットワークとインターネット] を選択し、[ネットワークとインターネット] を選択します; 3. ネットワーク接続を構成します。等。

デフォルトゲートウェイの設定方法 デフォルトゲートウェイの設定方法 Dec 07, 2023 am 11:34 AM

デフォルト ゲートウェイを構成する手順: 1. ルーターの IP アドレスを決定します; 2. コンピューターのネットワーク構成インターフェイスを開きます; 3. ネットワーク接続を構成します; 4. IPv4 設定を構成します; 5. IP アドレスとサブネット マスクを入力します; 6 . デフォルト ゲートウェイを構成します。7. DNS サーバーを構成します。8. 設定を保存します。詳細な紹介: 1. ルーターの IP アドレスを確認します。デフォルト ゲートウェイ アドレスは、通常、ルーターの IP アドレスです。ルーターの IP アドレスは、ルーターの背面またはユーザー マニュアルで確認できます。2. コンピューターのネットワーク構成などを開きます。 。

MySQLにおけるデータテーブルDDL操作技術 MySQLにおけるデータテーブルDDL操作技術 Jun 15, 2023 pm 07:55 PM

MySQL は、完全な DDL (データ定義言語) 操作をサポートする非常に人気のあるオープン ソース リレーショナル データベース管理システムです。 DDL は、データ テーブル、ビュー、インデックスなど、データベース内のさまざまなデータ オブジェクトを定義および管理するために使用される言語です。データベース管理者と開発者にとって、MySQL のデータ テーブルの DDL 操作テクノロジに習熟することは非常に重要です。この記事では、MySQL におけるデータテーブルの DDL 操作の技術と方法を詳しく紹介し、実際の操作例を示します。 1. データ テーブルの作成 データ テーブルの作成は DDL で行われます。

mysqlはデータテーブル名を変更します mysqlはデータテーブル名を変更します Jun 20, 2023 pm 05:52 PM

MySQL はデータ テーブルを変更します: 1. まずデータベース内のすべてのテーブルを確認します。コードは「SHOW TABLES;」です。 2. テーブル名を変更します。コードは「ALTER TABLE 古いテーブル名 RENAME [TO] 新しいテーブル名」です。 ;"。 3. テーブル名が正常に変更されたかどうかを確認します。コードは「SHOW TABLES;」です。

MySQL でのデータ テーブルのリロード手法 MySQL でのデータ テーブルのリロード手法 Jun 15, 2023 pm 11:28 PM

MySQL はオープンソースのリレーショナル データベース管理システムであり、その基本機能はデータベースの設計、データの保存、管理において優れています。 MySQL では、データ テーブルはデータ ストレージの最も基本的な単位です。実際のアプリケーションでは、データ テーブルのリロードは非常に一般的な操作手法であり、データベースの操作効率を向上させ、システムの安定性を向上させるのに役立ちます。この記事では、MySQL におけるデータ テーブルのオーバーロードの概念、原理、実際の応用まで、この操作テクニックを詳しく紹介します。 1. データ テーブルのオーバーロードとは何ですか? データ テーブルのオーバーロードとは、

デフォルトゲートウェイの設定方法 デフォルトゲートウェイの設定方法 Dec 07, 2023 pm 02:56 PM

デフォルト ゲートウェイを構成する手順: 1. ネットワーク環境を理解する; 2. ルーターの IP アドレスを取得する; 3. ルーター管理インターフェイスにログインする; 4. WAN ポート設定を見つけて構成する; 5. デフォルト ゲートウェイを構成する; 6.設定を保存して終了します; 7. ネットワーク接続が正常かどうかを確認します。デフォルト ゲートウェイの構成は、ネットワーク設定における重要な手順であり、ホストがインターネットへのアクセスに使用するルーターを決定します。

MySQL の AVG 関数を使用してデータテーブル内の数値列の平均値を計算する方法 MySQL の AVG 関数を使用してデータテーブル内の数値列の平均値を計算する方法 Jul 24, 2023 pm 09:52 PM

MySQL の AVG 関数を使用してデータ テーブル内の数値列の平均値を計算する方法の紹介: MySQL は、データを処理および計算するための豊富な組み込み関数を備えたオープン ソースのリレーショナル データベース管理システムです。このうち、AVG関数は数値列の平均を計算するために使用される関数です。この記事では、AVG 関数を使用して MySQL データ テーブル内の数値列の平均値を計算する方法を紹介し、関連するコード例を示します。 1. サンプル データ テーブルを作成する まず、デモンストレーション用のサンプル データ テーブルを作成する必要があります。というファイルがあるとします。

See all articles