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?

More than 5 years have passed since last update.

SQL 基礎用語&文法 4

Posted at

はじめに

SQL 基礎用語&文法 3 はコチラをクリック願います。
SQLを学んでいく上で、用語等を中心に整理していきます。
ターミナルにて入力する。もしくはSequelProのクエリにて入力するようにしております。
もうすでにご存知の方、省略の仕方等ご存知でしたら、ご教授願います。

検索する編 ちょっと応用 2

  • SequelProにて行います。
  • テーブルにデータが入っていることを想定する。

複雑なデータ検索

JOIN句

  • 指定したそれぞれのテーブルの、カラムの値が一致するデータを結合する。
  • JOIN句はFROM句の後に記述し、結合の対象となるテーブルを指定する。
  • そしてONの後に、それぞれのテーブル名.カラム名を=で結合する。
-- 式
FROM テーブル1
JOIN テーブル名2 ON テーブル名1.カラム名1 = テーブル名2.カラム名2

-- 実践してみます。
FROM shifts
JOIN users ON shifts.user_id = users.id

--上記のままでは、冗長ですので、各テーブルに別名をつけて短縮する。
--FROMやJOINでテーブル名を指定する際、ついでにそのテーブルの別名も指定する。
--別名は、"shifts"テーブルならs、"users"テーブルならuのように、各テーブル名の頭文字を取ってあげるのが一般的.
FROM shifts s
JOIN users u ON s.user_id = u.id

検索結果を用いた検索

サブクエリ

  • ある検索結果を使用して別のSQL文を実行する仕組み
  • WHERE句で使用されることが多い。
  • SELECT句やFROM句でもサブクエリは使用できる。
--WHERE句でNOT INを使用することでテーブルから、カラムがリストに含まれていない行のみを取得する。

-- 式
SELECT *
FROM テーブル
WHERE カラム NOT IN (リスト)

-- 実践してみます。
SELECT *
FROM users
WHERE id NOT IN (
SELECT DISTINCT user_id
FROM shifts
WHERE date = "2015-07-01"
)

さいごに

日々勉強中ですので、随時更新します。
皆様の復習にご活用頂けますと幸いです。

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?