Help us understand the problem. What is going on with this article?

SQL 基礎用語&文法 4

はじめに

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"
)

さいごに

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした