比較演算子でフィルタリング

AIで学ぶ中級SQLクエリ

Jasmin Ludolf

Senior Data Science Content Developer

ワークフロー

探索・分析・伝達のワークフロー

  • 並べ替え・集計で探索と分析
  • フィルタで必要なデータに絞る
AIで学ぶ中級SQLクエリ

レコードのフィルタリング

  • 必要なレコードだけに絞り込む
  • 対象が少ないほどクエリは高速

散らかった本棚

AIで学ぶ中級SQLクエリ

WHERE でフィルタリング

プロンプト: 2000年に公開された映画を表示

SELECT *
FROM films
WHERE release_year = 2000;
|id  |title         |release_year|country|duration|language|certification|gross   |budget  |
|----|--------------|------------|-------|--------|--------|-------------|--------|--------|
|1338|102 Dalmatians|2000        |USA    |100     |English |G            |66941559|85000000|
|1339|28 Days       |2000        |USA    |103     |English |PG-13        |37035515|43000000|
|1340|3 Strikes     |2000        |USA    |82      |English |R            |9821335 |6000000 |
|1341|Aberdeen      |2000        |UK     |106     |English |             |64148   |6500000 |
...
AIで学ぶ中級SQLクエリ

WHERE で除外する

プロンプト: 2000年公開以外の映画をすべて表示

SELECT *
FROM films
WHERE release_year <> 2000;
|id  |title         |release_year|country|duration|language|certification|gross   |budget  |
|----|--------------|------------|-------|--------|--------|-------------|--------|--------|
|1   |Intolerance...|1916        |USA    |123     |        |Not Rated    |        |385907  |
|2   |Over the Hi...|1920        |USA    |110     |        |             |3000000 |100000  |
|3   |The Big Parade|1925        |USA    |151     |English |R            |        |245000  |
|4   |Metropolis    |1927        |Germany|145     |German  |Not Rated    |64148   |6500000 |
...
  • 等しくない: <>, !=
AIで学ぶ中級SQLクエリ

比較演算子

完全一致:

  • =
  • <> または !=

$$

範囲指定:

  • > より大きい
  • < より小さい
  • >= 以上
  • <= 以下
AIで学ぶ中級SQLクエリ

比較演算子

プロンプト: 2000年よりに公開された映画のタイトルと公開年を表示

SELECT title, release_year
FROM films
WHERE release_year < 2000;
|title                 |release_year|
|----------------------|------------|
|Over the Hill to th...|1920        |
...
|The Muppet Movie      |1979        |
...
|Notting Hill          |1999        |
...

プロンプト: 2000年よりに公開された映画のタイトルと公開年を表示

SELECT title, release_year
FROM films
WHERE release_year > 2000;
|title                 |release_year|
|----------------------|------------|
|15 Minutes            |2001        |
|3000 Miles to Grace...|2001        |
|A Beautiful Mind      |2001        |
|A Knight's Tale       |2001        |
...
AIで学ぶ中級SQLクエリ

プロンプトのコツ

$$

  • 「〜以前」 <=
  • 「少なくとも〜」 >=
  • 「〜以上」 >=
  • 「〜より前(早い)」 <=
  • 「〜以下」 <=

$$

  • 最適なプロンプトを試行し改善する

AI と三点リーダーの吹き出しの3Dイラスト

AIで学ぶ中級SQLクエリ

テキストのフィルタリング

プロンプト: USA の映画のタイトルと国名を表示

SELECT title, country
FROM films
WHERE country = 'USA';
|title                                           |country|
|------------------------------------------------|-------|
|Intolerance: Love's Struggle Throughout the Ages|USA    |
|Over the Hill to the Poorhouse                  |USA    |
|The Big Parade                                  |USA    |
|The Broadway Melody                             |USA    |
...
AIで学ぶ中級SQLクエリ

テキストのフィルタリング:精度が必要

プロンプト: US の映画のタイトルと国名を表示

SELECT title, country
FROM films
WHERE country = 'US';
|title|country|
|-----|-------|
|     |       |
AIで学ぶ中級SQLクエリ

テクニックの組み合わせ

プロンプト: USA の映画の平均上映時間は?

SELECT AVG(duration) AS average_duration
FROM films
WHERE country = 'USA';
|average_duration|
|----------------|
|107.357104700...|
AIで学ぶ中級SQLクエリ

テクニックの組み合わせ

プロンプト: 2000年以降の映画について、言語ごとに平均上映時間を降順で表示

SELECT language, AVG(duration) AS average_duration
FROM films
WHERE release_year > 2000
GROUP BY language
ORDER BY average_duration DESC;
|language|average_duration|
|--------|----------------|
|Kannada |                |
|Urdu    |                |
|Swedish |175.666666666...|
|Thai    |173.666666666...|
...
AIで学ぶ中級SQLクエリ

Let's practice!

AIで学ぶ中級SQLクエリ

Preparing Video For Download...