無料

SQL実践:JOIN・サブクエリ・データ更新

JOIN、集合演算、サブクエリ、CTE、DDL・DMLを学び、複数テーブルを組み合わせてデータベースを作成・更新する無料コースです。

レッスン

24件

所要時間

-

ランク

初級

学習環境

ブラウザ完結

概要

JOIN、集合演算、サブクエリ、CTE、DDL・DMLを学び、複数テーブルを組み合わせてデータベースを作成・更新する無料コースです。

前提知識・必要な環境

環境

ブラウザ完結(インストール不要)

内容

テキストでの解説

0

レッスン

コーディングの問題

21

レッスン

クイズ問題

3

レッスン

監修

ゆめさくコード編集部

プログラミング学習をもっと身近に。初心者から実務レベルまで、わかりやすいコンテンツをお届けします。

生田 陸人

ゆめさくエンジニア / 現役ソフトウェアエンジニアRuby on Rails・Nuxt.js・Next.js・CakePHPなどの実務の開発をベースに、学習コンテンツを作成しています。

このコースの導入スライド

レッスンの最初に、図と短い言葉で学ぶ内容をつかみます。

導入スライドをすべて見る

JOIN で2つの表を噛み合わせる

users には注文が入っておらず、orders には名前が入っていません。両方を1つの結果で見るために、どの行とどの行が同じものを指すのかを ON で書きます。

SELECT u.name, o.item
FROM users u
users u左の表
JOIN orders o
orders o右の表
ON u.id = o.user_id
u.id = o.user_id何をそろえるか

結果

nameitem
佐藤
佐藤ペン
鈴木ノート
鈴木付箋
田中

田中 は注文が1件も無いので、結果から消えます。

消えた 田中 を残したいときに LEFT JOIN を使います。このあとの図解で切り替えます。

1 / 4

INNER JOIN で表をつなぐ

SQL実践 - WHERE句のサブクエリ

内側を先に解いて、その答えで絞る

手順を進めて、内側の戻り値が外側の比較相手になるところを見てください。

戻り値が複数なら = は使えません。内側が何行返すかで演算子が決まります。

内側を先に解いて、その答えで絞る

1 / 1

WHERE句のサブクエリ

SQL実践 - INSERT で行を追加する

列と値は前から順に対応する

3つの場合を切り替えて、どこで対応が崩れるか見てください。

  • INSERT で書くのは、表の名前と、列の並びと、値の並びの3つ
  • 列と値は前から順に1対1で結ばれる
  • 数が合わない文は、実行される前に弾かれる
列と値の対応

1 / 5

INSERT で行を追加する

SQL実践 - UPDATE で行を書き換える

WHERE が決めるのは範囲

WHERE の行を外して、書き換わる行がどこまで広がるか見てください。

  • UPDATE は、何に書き換えるかの SET と、どれを書き換えるかの WHERE でできている
  • WHERE を省いた文はエラーにならない。表の全行が同じ値になって正常に終わる
  • 書く前に同じ条件で SELECT を流し、返ってきた行数を見るのが現場の手順
WHERE が決めるのは範囲

1 / 5

UPDATE で行を書き換える

このコースの動く図解

動かしながら、仕組みや変化を目で確かめられます。

動く図解をすべて見る

腕試しに、1問だけ解いてみる

司書「この蔵書データ、集計できますか?」

1問目は無料で解けます。教材を見ないで、依頼と完成条件だけを読んで書いてみてください。

SQL道場 図書館DBに挑む10問

前提が不安な方へ

先にこちらを通しておくと、つまずきにくくなります