勉強したことのメモ

webプログラマが勉強したことのメモ。

MySQLのUNION

      2014/07/03

$sql_1 = "SELECT name_a,name_b FROM table_a";

$sql_2 = "SELECT name_a,name_b FROM table_b";

上のSQL文を2回回すのと、

$sql = "
(SELECT name_a,name_b FROM random_hn_a)
UNION ALL
(SELECT name_a,name_b FROM random_hn_b)
";

上のSQL文を回すのと同じ結果が得られる。

パフォーマンスの検証は取れていないけど(早くはなるらしい)、

結果は同じ。

であれば短くかけるほうを書くべき。

UNIONALLとUNIONの違いは下記サイト様を参考。

http://life.co-hey.com/2010/08/mysql%E3%81%AEunion%E3%81%A8union-all%E3%81%AE%E9%81%95%E3%81%84/

 - MySQL

  関連記事

MySQLでデータがあれば更新、無ければ挿入

DBにデータがあれば更新、無ければ挿入(新規作成)を 行いたい際に使えるものがあ ...

異なるVPS間でMySQLの接続を行う

異なるVPS間でMySQL接続を行った際のメモ。 さくらVPS(IP:111.1 ...

MySQLでランダムに取得

SELECT カラム名 FROM テーブル名 ORDER BY RAND() L ...

MySQLでテーブルとデータの複製(コピー)

MySQLでテーブルとデータを複製したかった。ダンプとかではなく、簡単なSQL文 ...

MySQLのintのカラムで2147483647の値

MySQLでintのカラムに数値を入れると「2147483647」という値になっ ...

MySQLで速度改善

よく見るけど実際に対面してみて難しさが分かった。 150万件ほどのデータがあって ...

MySQLで大文字小文字

半角英数字のみのフォームで入力した値を検索した際、 データに差異が発生。 [Aa ...

mysqlで正規化できない時はシリアライズ使う

アンケートか何かに機能追加している際、配列を カンマ区切りで結合して文字列でDB ...

MySQLでJOINの高速化

JOINで無茶苦茶悩んだのでメモ。やりたかった事は、MySQLで テーブルAには ...

MySQLで複数のコード及びスコアで検索して、スコアが無いものは0を取得する

やりたかった事は下記の通り。 ・ユニークなコードがあり、そのコードに対して複数の ...