1
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?

[MySQL] SQLの基本

Posted at

概念の理解

リレーショナルデータベースとは?

ざっくりいうと表のデータベースです。表のデータベースではないデータベースのことは、NoSQL(Not only SQL)といいます。

RDBMSとは?

RDBMSとは、リレーショナルデータベースを採用しているソフトウェアのことです。MySQLやPostgreSQLのことを「データベース」と呼ぶのは少し誤りで、正しくは「リレーショナルデータベースマネジメントシステム」です。

クエリ(問い合わせ)

クエリの書き順

SELECT(カラム指定)
FROM(どのテーブルが対象か)
JOIN(テーブルの結合)
WHERE(条件絞り込み)
GROUP BY(グループ化)
HAVING(グループ化の後に絞り込み)
ORDER BY(順番の並べ替え)
LIMIT(結果セットの制限)

例えばSELECTをFROM句の下に持ってくるとエラーになります。
クエリの最後はセミコロン「;」で終わりを示しましょう。

クエリの実行順序

FROM(テーブルを持ってきて)
 ↓
JOIN(テーブルを結合して)
 ↓
WHERE(条件によって絞り込んで)
 ↓
GROUP BY(グループ化して)
 ↓
HAVING(グループ化した後に絞り込んで)
 ↓
SELECT(指定したカラムに結果をセットして)
 ↓
ORDER BY(結果セットを並び替える)

人間がクエリを書くときの順番と内部での実行順序は異なるため、理解には注意が必要です。

内部結合と外部結合

内部結合(INNER JOIN)と外部結合(OUTER JOIN)は、どちらも複数のテーブルを結合するのに使います。

使い分けは?

内部結合は、結合したい両方のテーブルに共通する(どちらにもある)行だけを抽出して結合します。

外部結合は、片方のテーブルにだけデータが存在する場合でも結合を行います。

「両方のテーブルにしっかりデータがあるよ」という場合はINNER JOINを使い、「どちらか片方のテーブルにはデータ抜けがあるかも…」という場合はOUTER JOINを使いましょう。

参考記事

1
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
1
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?