【SQL超入門講座】14.LIKE|部分一致や前方一致、後方一致するレコードを抽出する方法

5.2 هزار بار بازدید - 3 سال پیش - 例えば、都道府県というカラムに、1つめのレコードに東京都、2つめのレコードに大阪府、3つめのレコードに京都府があったとします。'府'で終わるレコードのみ抽出するにはどうしたらいいでしょうか?    また'京'が含まれるレコードを抽出すれにはどうしたらいいでしょうか?そこで、この動画では、文字列の部分一致を条件としてデータ抽出する方法について説明します。▼目次
例えば、都道府県というカラムに、1つめのレコードに東京都、2つめのレコードに大阪府、3つめのレコードに京都府があったとします。
'府'で終わるレコードのみ抽出するにはどうしたらいいでしょうか?    
また'京'が含まれるレコードを抽出すれにはどうしたらいいでしょうか?
そこで、この動画では、文字列の部分一致を条件としてデータ抽出する方法について説明します。

▼目次
00:00 はじめに
01:12 パターンマッチングとは?
03:33 前方一致
05:13 後方一致
06:14 前方一致と後方一致を併用
06:45 部分一致
08:11 一致しない
08:46 エスケープ処理
10:39 おわりに

▼関連動画
【SQL超入門講座】01.コース紹介 ~ SQLとは? ~  環境構築|初心者向け
【SQL超入門講座】01.コース紹介 ~ SQLとは? ~  環境構築|初...

【SQL超入門講座】02.データベースのテーブルとは?
【SQL超入門講座】02.データベースのテーブルとは?

【SQL超入門講座】03.SELECT文|SQLの基本中の基本
【SQL超入門講座】03.SELECT文|データベースからデータ抽出する方法

【SQL超入門講座】04.WHERE|特定の条件でデータを抽出する方法
【SQL超入門講座】04.WHERE|特定の条件でデータを抽出する方法

【SQL超入門講座】05.ORDER BY|データの並び替え
【SQL超入門講座】05.ORDER BY|データの並び替える方法

【SQL超入門講座】06.GROUP BY|グルーピング、グループ化
【SQL超入門講座】06.GROUP BY|指定したカラムの値を基準にデー...

【SQL超入門講座】07.HAVING|グループ化したデータの中からデータ抽出
【SQL超入門講座】07.HAVING|グループ化したデータの中からデータ抽出

【SQL超入門講座】08.JOIN|テーブルの結合(INNER JOIN/LEFT JOIN)
【SQL超入門講座】08.INNER JOIN/LEFT JOIN|テーブ...

【SQL超入門講座】09.PostgreSQLの環境構築|MacとWindowsで解説!
【SQL超入門講座】09.PostgreSQLの環境構築|MacとWind...

【SQL超入門講座】10.PythonとPostgreSQLの接続
【SQL超入門講座】10.PythonからPostgreSQLに接続する方法

【SQL超入門講座】11.データベースのバックアップと復元
【SQL超入門講座】11.データベースのバックアップと復元する方法

【SQL超入門講座】12.テーブルの結合(RIGHT JOIN/OUTER JOIN)
【SQL超入門講座】12.RIGHT JOIN/OUTER JOIN|テー...

【SQL超入門講座】13.AND, OR|複数条件で抽出する方法
【SQL超入門講座】13.AND, OR|複数条件で抽出する方法

▼書き起こしブログ
https://kino-code.com/sql14/

▼自己紹介
ブログに自己紹介を書いております。
https://kino-code.com/profile/

▼SNS
Twitter : Twitter: likes
Facebook : Facebook: キノコード -105693727500005/
Website : https://kino-code.com/

▼書き起こし
LIKE演算子はSELECT文でパターンマッチングを行う際に使用します。  
パターンマッチングとは複数の文字列に共通して存在するパターンを検索することです。    

例として京都府、東京都、大阪府の3つの文字列を見てみましょう。  
京都府、大阪府の2つには、「文字列の末尾が'府'である」というパターンが存在します。    
また京都府、東京都の2つには、「文字列に'京'が含まれる」というパターンが存在します。      
LIKE演算子を使うことで、こうした特定のパターンに一致するレコードを検索して抽出することができます。    

SELECT文にLIKE演算子を追加した構文を確認しておきましょう。  
```
SELECT カラム FROM テーブル
WHERE カラム LIKE パターンマッチングの条件
```

ワイルドカードについて
パターンマッチングはワイルドカードを用いて行います。  
ワイルドカードはあらゆる文字列として扱うことのできる特殊文字のことです。  
ワイルドカードには以下の2つがあります。  

|ワイルドカード|説明|
|--|--|
|_|任意の1文字の文字列|
|%|0文字以上の任意の文字列|

文字数が関係するパターンマッチングを行う場合は'_'を使います。  
先ほどの例でいうと、「末尾が'府'である」というパターンは'%府'と書き表すことができます。  
文字列が3文字であることも条件にするのであれば'__府'と書き表します。  

ここからは実際にテーブルを用意して、パターンマッチングによる抽出を行っていきましょう。  

今回は以下のtest_table03テーブルを作成し、解説を進めていきます。      
test_table03テーブルは、注文日、商品ID、商品名、サイズの4つのカラムを持つテーブルです。
それでは、前方一致、後方一致、部分一致のパターンマッチングを順に確認していきましょう。

#SQL #データベース #postgreql #LIKE #一致 #ワイルドカード
3 سال پیش در تاریخ 1400/03/27 منتشر شده است.
5,235 بـار بازدید شده
... بیشتر