0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DB SELECT編予備

Posted at

初学者向け兼個人向けのデータベース知識まとめです

  • MySQLの文法などの簡易的まとめ
  • 自分用のメモ

SQLでの周知事項

  • SQLにおけるコマンド文は大文字・小文字の区別を行わない
  • 一文の終わりには;(セミコロン)を記述

DESCRIBEコマンド

  • 表構造の確認
DESC 表名;
DESCRIBE 表名;

SELEC文

  • 基本文
  SELECT <列リスト> FROM [表名];
  • 重複文を排除する
  SELECT DISTINCT <列名> FROM [表名];
  • 行制限 WHERE句
  SELECT <列名> FROM [表名] WHERE <列名 演算子 >;

WHERE句における論理演算子を複数使用する際は
 NOT→AND→ORの順で評価される
 ()を使用することで優先付が可能

  • 行ソート ORDER BY句
  SELECT <列名> FROM [表名] WHERE 検索条件 ORDER BY 条件 ASC/DESC;

+グループ化での抽出・条件検索

  SELECT <列名> FROM [表名] (WHERE) GROUP BY グループ列;
  SELECT <列名> FROM [表名] GROUP BY グループ HAVING 条件式;

  /*クラス毎のテストの平均点数*/
  SELECT class_no, AVG(test) from grades GROUP BY class_no;
  • 副問い合わせ
    WHERE・HAVING・FROM にて別に埋め込まれるSELECT文
SELECT 列名 FROM 表名 WHERE 列名 比較演算子 (SELECT ~ FROM ~);
  • 比較演算子で等しくないは「<>」「!=」
  • = で繋ぐのは返り値が1つの時のみ
  • 複数行副問い合わせで使用する演算子「ANY」「ALL」「IN」

結合によるSELECT

内部結合

2つ以上の表を共通の値に従って結合を行う。
列名が異なっていてもデータ型が同一であれば結合可能

/*1つ目の記述法*/
SELECT 列名 FROM 表1 JOIN 表2 ON 表1.列名 = 表2.列名;
/*2つ目の記述法*/
SELECT 列名 FROM 表1, 表2 ON 表1.列名 = 表2.列名;
/*なお二つ目に関しては可読性が低下するため一部推奨ではない*/

/*表member1,classからclubとteacherを引き出す(別名使用例)*/
SELECT m.club, c.teacher  
 FROM member1 m JOIN class c ON m.name = c.name;

/*ON句以外の結合方法*/
 SELECT 列名 FROM 表1 NATURAL JOIN 表2;
 SELECT 列名 FROM 表1 JOIN 表2 USING(共通列名);

NATURAL JOIN句は結合する表の同じ列名を自動結合する
USING句は同じ列名のうち指定された列により結合を行う

外部結合

内部結合とは異なり結合条件に一致しない行の表示も可能となる。

例)片方の列にはNULL値が含まれているが、他方の表の列にはNULL値が含まれていない

表記法:内部結合の「JOIN」に基準表に向けてLEFT・RIGHTを付ける

クロス結合

対象表の全ての組み合わせが表示できる。
(表1の行数×表2の行数)分の結果件数を得ることができる

 SELECT 列名 FROM 表1 CROSS JOIN 表2;

集合演算

2つ以上の問い合わせ結果から1つの結果を生成

  • UNION
    複数の問い合わせ結果から重複するものを除いた結果を生成(Distinct利用時と同じ)
  • UNION ALL
    複数の問い合わせ結果から重複するものも含めた結果を生成
SELECT 列名A FROM 表1 UNION (ALL) SELECT 列名A FROM 表2 ;
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?