😎

[SQL]SQLについて(SELECT, WHERE,)

2023/06/07に公開

SQLとは

SQL(Structured Query Language)は、
リレーショナルデータベース管理システム(RDBMS)で使用される標準的なクエリ言語。

クエリ言語(Query Language):
データベースや情報管理システムなどと対話するために使用される特定の言語。
主な目的は、データの抽出、挿入、更新、削除などの操作を行うための命令や文を記述すること。
クエリ(Query)とは:
DBや情報管理システムなどに対して要求や問い合わせを送るための要求文や命令文のこと.

DBとの対話や操作において欠かせない重要なツール。
DBの作成、データの取得、更新、削除など、
さまざまな操作を行うための標準化された方法を提供します。

用語補足:DBについてと、RDBMS、RDBについて

補足:DBについてと、RDBMS、RDBについて

■ DB(データベース)

データベースとは
複数の主体で共有、利用したり、用途に応じて加工や再利用がしやすいように、
一定の形式で作成、管理されたデータの集合のこと。
現代では専用のデータベース管理システム(DBMS)で構築・運用するデータの集合体を指すことが多い。
IT用語辞典

データの集合体を指す一般的な用語
DBは、データを組織化・保管し、効率的なデータの管理やアクセスを可能にする
仕組みやシステムのことを指す。
DBは、リレーショナルデータベース(RDBMS)だけでなく、
階層型データベース、オブジェクト指向データベース、グラフデータベースなど、
様々なデータモデルや管理システムで実現されることがある。


■ リレーショナルデータベース管理システム 【Relational DataBase Management System】RDBMS

RDBMSとは
リレーショナルデータベースを管理するための専用のソフトウェア。
IT用語辞典

代表的なRDBMS製品:
Oracle Database、MySQL、Microsoft SQL Server、PostgreSQL


■ リレーショナルデータベース 【relational database】 RDB

リレーショナルデータベース(RDB)とは
データベースの構造の一つで、一件のデータを複数の属性の値の組として表現し、組を列挙することでデータを格納していく方式。属性を列、組を行とする表(テーブル)の形で示されることが多い。最も普及している方式で、単にデータベースといった場合はリレーショナルデータベースであることが多い。
IT用語辞典

リレーショナルデータベース(RDB)は、
データを表形式のテーブルで表現しそれらのテーブル間に関係性を定義することができるDBの一種。

RDBでは、データを複数のテーブルに分割し、各テーブルは行(レコード)と列(フィールド)の形式でデータを保持する。
テーブルは一意の識別子(主キー)によって一意に識別され、
関連テーブル間で結びつきや関係性を定義することができる。
これにより、データの整合性や一貫性を保ちながら、データの効率的な管理や操作が可能となる。

RDBの特徴

  1. テーブル:
    データは複数のテーブルに格納され、各テーブルは固有の名前と構造を持つ。
    テーブルは行(レコード)と列(フィールド)から構成。

  2. 制約:
    RDBでは、データの整合性や一貫性を保つために、さまざまな制約を定義できる。
    ex.) 主キー制約、外部キー制約、一意性制約など...

  3. 関係性:
    RDBでは、複数のテーブル間に関係性を定義できる。
    これにより、テーブル間の関連を表現し、データの結合や参照を行うことができる。

SQLの役割と目的

SQLは、上記した通り、データベースに格納されたデータの操作や問い合わせを行うための言語
データベース内のテーブルを作成したり、データを挿入したり、更新したり、削除したりするためのコマンドを提供する。また、データのフィルタリング、ソート、集計、結合などの操作も行える。
SQLを使用することで、データベースに対して高度な操作や複雑な関係を持つデータの抽出が可能になる。

SELECT文

"データベースから、データを取得する命令"

基本型

SELECT [取得したい要素] FROM [使用テーブル];

以下のようなtableがあったとする.

id name age
1 narita 25
2 hamaya 25
3 kawakami 31

■ 特定要素のみの取得

このuserテーブルのnameのみを取得したい。そうすると、

SELECT name FROM user;

■ 複数の指定

では今度は、このuserテーブルのidとnameを取得したい。そうすると、

SELECT id,name FROM user;

このように,で繋げて記述で可能

■ tableの全てを取得したい

このuserテーブルの全てを取得したい。そうすると、

SELECT * FROM user;

*で全ての取得が可能!

WHERE [条件文]

SQLのSELECT文や他のクエリ文で使用される条件を指定する
(テーブルデータの検索条件を指定する)ための句(節)。
データのフィルタリングや検索条件の指定に使用される。

基本型

SELECT [取得したい要素] FROM [使用テーブル] WHERE [条件文];

条件文は比較演算子や論理演算子を使用して構築される。

比較演算子,論理演算子

比較演算子

演算子 説明
= 等しい
<> 等しくない
!= 等しくない
< より小さい
> より大きい
<= 以下
>= 以上
BETWEEN 範囲内
IN リスト内のいずれかに一致
LIKE パターンに一致
IS NULL NULLである
IS NOT NULL NULLでない

論理演算子

演算子 説明
AND かつ
OR または
NOT 否定

Discussion