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?

SQLの基本~ SELECT編

Last updated at Posted at 2024-10-09

はじめに

前回の ALBのアクセスログをAthenaを使って分析する
を実施したあとに、いざ自分でクエリを考えて実行してみようと思ったら手が動かなかったので再度基本的なところから復習します。

使った教材

SQL Boltという教材を使用しました。
英語で若干わかりにくいですが、サクサク結果が見れるのでおすすめです。

テーブル

使うテーブルはSQL Boltで用意してくれていたのでそのまま使用します。

table:Movies

id title director year length_minutes
1 Finding Nemo Andrew Stanton 2003 107
2 Monsters, Inc. Pete Docter 2001 92
3 Monsters University Dan Scanlon 2013 110
4 Up Pete Docter 2009 101
5 WALL-E Andrew Stanton 2008 104
6 Cars John Lasseter 2006 117
7 Toy Story John Lasseter 1995 81
8 Brave Brenda Chapman 2012 102
9 Toy Story 2 John Lasseter 1999 93
10 The Incredibles Brad Bird 2004 116
11 Ratatouille Brad Bird 2007 115
12 Toy Story 3 Lee Unkrich 2010 103
13 Cars 2 John Lasseter 2011 120
14 A Bug's Life John Lasseter 1998 95

やってみた

シンプルなSELECT

SELECT * FROM movies;

結果としてはテーブル内のデータが全て抽出されます。

お次はこちら。

SELECT * 
FROM Movies
WHERE Title = 'Finding Nemo';

タイトルがFinding Nemoの行を抽出してくれます。
WHWREは、行に対してデータをフィルタリングしてくれます。

以下で、Moviesテーブルの全てのデータを指定して、

SELECT * 
FROM Movies

以下で、TitleFinding Nemoの行を抽出します。

WHERE Title = 'Finding Nemo';

順番に一個ずつ考えると理解しやすいですね。

ちょっと変えてみます。

SELECT * 
FROM Movies
WHERE Title LIKE 'Toy Story%';

上記では以下のような結果になります。

id title director year length_minutes
7 Toy Story John Lasseter 1995 81
9 Toy Story 2 John Lasseter 1999 93
12 Toy Story 3 Lee Unkrich 2010 103

WHERE Title LIKE 'Toy Story%'; の部分を変えました。
LIKEは特定の文字列に対してのパターンマッチングをしてくれます。
%はワイルドカード的な使い方です。
つまり、Toy Storyを文字列に含んでいれば、Toy Story以降の文字列には何が含まれても抽出されます。
結果として2,3も抽出されました。

おわりに

こんな初歩的なところで終わってんじゃねえという声が聞こえてきそうですが、また次回でもう少し深ぼってSQLの学習していこうと思います!
誰かの参考になれば嬉しいです。

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?