SQL | Useful Lab https://useful-lab.com パソコン・スマホの困ったを解決!|Useful Lab Wed, 17 Jun 2020 12:17:33 +0000 ja hourly 1 https://useful-lab.com/wp-content/uploads/2018/03/cooltext1930398726.png SQL | Useful Lab https://useful-lab.com 32 32 [SQL初心者へ]制約とは?~primary key,not null,unique,check~ https://useful-lab.com/archives/5698 Wed, 17 Jun 2020 11:58:45 +0000 https://useful-lab.com/?p=5698 SQLで列を定義するときなどに見る「primary key」 これは主キー制約と呼ばれるもので テーブルを制約するものである。 しかし主キー制約?制約って何もの?と思ったあなた。 これから主キ

The post [SQL初心者へ]制約とは?~primary key,not null,unique,check~ first appeared on Useful Lab.]]>
SQLで列を定義するときなどに見る「primary key」

これは主キー制約と呼ばれるもので

テーブルを制約するものである。

 

しかし主キー制約?制約って何もの?と思ったあなた。

 

これから主キーを含め「制約」について解説します。

「not null」「unique」「check」加えて「primary key」

4つの制約を紹介します。

 

制約とは?

SQL等で扱うデータベースは情報の根源です。

例えばそのテーブルに定義していないような

大きな容量を持った数字が入力されます。

 

するとその想定していないようなデータをテーブルに組み込もうとして

テーブルの反応速度が遅くなったり、エラーが表示されたり

異常事態が発生します。

 

もしデータベースを活用した通販サイトが動いている中で

そのような異常事態が起こった場合、、、。

 

それを守るのが「制約」です。

 

事前にテーブルにはそのデータが入らないようにしたり

データが0にならないようにしたりと

制限をかけることを「制約」が行ってくれます。

 

では制約のことがつかめたので実際に見ていきましょう。

 

制約たち~not null,unique,check~

では実際にどんな制約があるのかを見ます。

ここでは「not null」「unique」「check」の3つを紹介します。

 

not null制約

not null制約とは見ての通り

nullにはならないようにする制約です。

絶対にnullになってはいけない列に使います。

 

例えば「日付」その列でnullはありえません。

 

なのでnot null制約をかけることで

nullになってしまう定義をするとエラーを出してくれます。

 

使用例はprimary keyを含め全て紹介した後に見せます。

 

unique制約 読み方はユニーク

このunique制約は列の中でデータが重複しないようにする制約です。

 

例えば47都道府県の列は重複があってはダメですよね。

東京が2つあって沖縄が5つあったり。

 

その場合にunique制約が使われます。

 

iPhoneの音ってもう少し小さくならないかな

その方法はこちらにあり

あわせて読みたい
iPhoneの音量をもっと小さくする3つの方法iPhoneの音量を外側に付いている音量ボタンで調節すると ちょうどいい音量になかなか調節できない。 もう少し小さく...

 

check制約

テーブルに格納されるデータが妥当かどうかを判断してくれるのが

「check制約」です。

 

実際にcheck制約は

check(列名 >= 数字等)

と使われます。不等号は自由です。

例えばcheck(収入 >= 0)と入力すると

収入の列で0以上の値しか入らないとなります。

収入で「ー」はブラックですね。

 

とそのように使われます。

以上が3つの制約です。

次はprimary key、主キー制約を解説します。

 

主キーって何?主キー制約とは?

まず主キーとはなんでしょう。

主キーとはテーブルの柱となる列のことを言います。

 

例えば商品IDなどSQLで検索をするときに

その「商品ID列の何番目の商品名列のそのデータ」

のようにその列名を基準にデータを見ます。

例えば今のをSQL文にすると

select 商品名 from テーブル名 where 商品ID = P05;

と商品IDのP05番目に当たる列名商品名のデータが表示されます。

 

このようにテーブルの中で柱になる列のことを主キーと言います。

 

そしてその列名を主キーに制約することを「主キー制約」と言います

 

では4つの制約を使った例を出します。

 

制約を実際に使ってみる

このSQL文ではテーブルを作成しようとしています。

そこで主キー制約を含め4つの制約を使ってみます。

 

create table プレゼント{

商品ID integer primary key,

日付 date default “不明” not null,

商品名 varchar(20) unique,

金額 integer check(金額 >= 0)

);

と実際に使ってみました。

いきなり「create table」だの

「integer, varchar(20)」と出てきましたね。

これは何?と思ったあなたはこちらを見てください。

あわせて読みたい
[SQL]データ型、固定長と可変長、「'」の意味テーブルの列を追加したり、削除によく使われるSQLのデータ型。 その種類や使い方を解説します。 また「'」や「VAL...
あわせて読みたい
【SQL初心者へ】テーブルにデータを追加する、削除する~insert,delete~SQLでテーブルにデータを追加する、削除する方法を解説していきます。 例えば テーブル名:birthday ...

 

そしてさりげなく出てきた

「default “不明”」「default」と設定して置くと

制約外のデータが入る時は「””」内で指定したデータが入るようになります。

 

なので上記のSQL文では日付がnullになりそうな時は「不明」が入ります。

 

上記のように4つの制約を入れました。

制約は大体一番最後にくっ付くのですね。

ちなみに上記のSQL文では

 

テーブル名:プレゼント

商品ID 日付 商品名 金額

 

というようなデータが何も入っていないテーブルが完成します。

 

まとめ

制約や主キーについて解説しました。

これでテーブルが作成できますね。

この記事が良かった!というあなたはTwitterのフォローをお願いします!

The post [SQL初心者へ]制約とは?~primary key,not null,unique,check~ first appeared on Useful Lab.]]>
[SQL初心者へ]ALTER TABLE文で列の追加、削除をする〜テーブル定義を更新〜 https://useful-lab.com/archives/5629 Thu, 11 Jun 2020 11:49:08 +0000 https://useful-lab.com/?p=5629 ALTER TABLE文とは、使い方を初心者さんにもわかりやすく解説していきます。 insert intoやdeleteを使った場合はこちらにあります。 https://useful-lab.com/archives/5

The post [SQL初心者へ]ALTER TABLE文で列の追加、削除をする〜テーブル定義を更新〜 first appeared on Useful Lab.]]>
ALTER TABLE文とは、使い方を初心者さんにもわかりやすく解説していきます。
insert intoやdeleteを使った場合はこちらにあります。
https://useful-lab.com/archives/5120

ALTER TABLE文とは?

テーブル定義の内容を変更するのにこのALTER TABLE文が使われます。
多彩な使い方ができますが、
ここではALTER TABLE文を使って「列の追加」「列の削除」を解説します。

テーブル定義を変更する方法

列の追加

ALTER TABLE文を使った列の追加は以下の定型文を使用します。

alter table テーブル名 add 列名 型 制約;

「制約」とありますがこれは「null」や「primary key」を入れます。
制約がなければ入力しなくても大丈夫です。
制約って何?と思ったあなたはこちらを見てください。
https://useful-lab.com/archives/5698
では実際の例を見ていきます。

テーブル名:birthday

購入日 品目 費用
2020/07/14 18,000

 

のようなテーブルがあります。
これに列を追加します。

alter table birthday add 店舗 varchar(20);

と実行すると

テーブル名:birthday

購入日 品目 費用 店舗
2020/07/14 18,000 null

 

店舗の列が追加されました。
値が「null」なのは「nullにしない」制約をせず、値も入力していないのでこのように表示されます。
途中で出てきた「varchar」ってなに?のあなたはこちらを見てください。
https://useful-lab.com/archives/5525
次は列の削除を行います。

卓上扇風機は侮れない

近年流行の卓上扇風機。
どうせ風量が弱くて使えないでしょう?
いいえ、この卓上扇風機は違います。
https://useful-lab.com/archives/5546

列の削除

ALTER TABLE文を使った列の削除は以下の定型文を使用します。

alter table テーブル名 drop 列名 型 制約;

同じく「制約」とありますがこれは「null」や「primary key」を入れます。
では実際の例を見ていきます。

テーブル名:birthday

購入日 品目 費用 店舗
2020/07/14 18,000 null

 

このテーブルの店舗を削除します。

alter table birthday drop 店舗 varchar(20);

と入力すると

テーブル名:birthday

購入日 品目 費用
2020/07/14 18,000

 

になります。

まとめ

以上までがALTER TABLE文を使用してテーブル定義を変更する方法でした。
既存のテーブルに列を追加するときは原則一番最後になります。
DBMSによっては任意にできますが。
この記事が良かったと言うあなたはTwitterのフォローをお願いします!
The post [SQL初心者へ]ALTER TABLE文で列の追加、削除をする〜テーブル定義を更新〜 first appeared on Useful Lab.]]>
[SQL]データ型、固定長と可変長、「’」の意味 https://useful-lab.com/archives/5525 Thu, 28 May 2020 13:53:46 +0000 https://useful-lab.com/?p=5525 テーブルの列を追加したり、削除によく使われるSQLのデータ型。 その種類や使い方を解説します。 また「#8217;」や「VALUES(10)」のように()がどういう意味なのかも 合わせて解説していきます。

The post [SQL]データ型、固定長と可変長、「’」の意味 first appeared on Useful Lab.]]>
テーブルの列を追加したり、削除によく使われるSQLのデータ型。

その種類や使い方を解説します。

 

また「’」や「VALUES(10)」のように()がどういう意味なのかも

合わせて解説していきます。

 

[SQL]「’」の意味、データ型、固定長と可変長

 

「’」の意味

最初にいうと「’」で囲まれたものは文字列として扱われます。

「’」で囲まれていない場合は数値として扱われます。

「’5000’」は文字列の5000で

「5000」は数字の5000としてみなされます。

 

とあるSQL文を見てみましょう。

insert into プレゼント values (‘2020-07-15′,’髪飾り’,’5000′);

これはプレゼントというテーブルに

「2020/07/15,髪飾り,5000」を列に挿入する文です。

「’2020-07-15’」のように一定の形式で「’」で囲むと

日付として扱われます。

髪飾りは文字列として5000も同様です。

 

またSQLの場合は「’」「”」どちらでも構いません。

 

SQLのデータ型たち

列に入れるデータが

文字列のデータなのか数字のデータなのかを示すのがデータ型です。

使うDBMS製品によってはデータ型が異なりますので

代表的なものだけをまとめます。

あわせて読みたい
SQLの基本、データベースとは?RDB、RDBMSとは?SQLを学んで行く上根底にあるのはデータベース。 基本をある程度掴んでSQLができるあなたはいいですが、 1からちゃんと理解...
データの種類 区分 データ型
日時 DATETIME型,TIME型,DATA型
数値 整数 INTEGER型
小数 DECIMAL型,REAL型
文字列 固定長 CHAR型
可変長 VARCHAR型

 

固定長と可変長は後ほど解説します。

 

先ほどのSQL文をみて疑問に思うことはありませんか?

一列に文字列データと数値データが混在している場合はどうすればいいのか。

数値データのINTEGER型の場合は数値のみ入れることができ、

文字列を格納することはできません。

なのでデータ型の異なるデータは分けて書きます。

 

固定長と可変長とは?

整数と小数でデータ型が分けられるのはわかるが

文字列のデータ型「CHAR」「VARCHAR」は何が違うのか?

それは固定長と可変長の違いです。

「CHAR」は固定長の文字列を扱うデータ型で

CHAR(10)の場合は10バイトの容量が確保されます。

そこに10バイトに満たないデータが入ってきたとします。

文字列の右側に空白が入れられて10バイト丁度に調整されます。

 

これが可変長のVARCHAR型の場合は

VARCHAR(10)だと10バイトより少なければそれに合わせて容量が確保されますが、

12など()内で指定したバイト数を越すものが入ってくると

格納されずにエラーが表示されます。

 

バイトではありませんが簡単に考えた図を書きました。

CHARは10バイトに合わせられる、

VARCHARは用意されたバイト数を使い切るのではなく

7バイトだったらそのバイト数までしか使いません。

実用例

桁数の決まっていないデータはCHAR

桁数の決まっているデータはVARCHARを使います。

 

まとめ

SQLのデータ型がわかりましたでしょうか?

JavaだとintやStringを使ったりするので

SQLを久々に触ろうとするとつまづきやすいですね。

 

この記事が良かったというあなたはTwitterのフォローと

当サイトのお気に入り登録をお願いします!

The post [SQL]データ型、固定長と可変長、「’」の意味 first appeared on Useful Lab.]]>
初心者向け[SQL]テーブルを結合する方法〜join on〜 https://useful-lab.com/archives/5188 Wed, 06 May 2020 12:49:49 +0000 https://useful-lab.com/?p=5188 テーブルを結合する方法を解説します。 join句を使っていきます。 テーブルを結合するjoin句の基本構文 joinを持ちいた基本構文はこちらです。 select 列名 from テーブルA join テー

The post 初心者向け[SQL]テーブルを結合する方法〜join on〜 first appeared on Useful Lab.]]>
テーブルを結合する方法を解説します。

join句を使っていきます。

 

テーブルを結合するjoin句の基本構文

joinを持ちいた基本構文はこちらです。

select 列名 from テーブルA join テーブルB on 両テーブルの結合条件;

 

では例文を用いて結合を見ていきましょう。

 

実際にテーブルを結合する

このプレゼントテーブルと品目テーブルを結合します。

テーブル名:プレゼントテーブル

日付 品目JAN メモ
2020/07/15 01 赤色
2020/07/14 02 青色

テーブル名:品目テーブル

JAN 品目 備考
01 ネットで購入
02 髪飾り 店頭で購入

 

ではプレゼントテーブルの品目JANに注目してそれと等しい

品目テーブルのJANの行を取り出して結合します。

 

select 日付,品目,メモ

from プレゼントテーブル

join 品目テーブル

on プレゼントテーブル. 品目JAN = 品目. JAN;

で実行すると

日付 JAN メモ
2020/07/15 01 赤色
2020/07/14 02 青色

とテーブルが結合されます。

 

では次にjoin句を使ったテーブルの注意点やポイントを解説します。

 

パソコンの掃除をするとその悩み解決できるかも

あわせて読みたい
パソコン掃除したら速くなる?!初心者のためのススメ&グッズ紹介あなたはパソコンの掃除をしていますか? パソコン掃除の初心者、、特にノートパソコンの掃除を 某PCショップ店員で1週...

 

join句の注意点・ポイント

join句を使いこなしていくには、

DBMSがどう結合するのかをしっかりとイメージをしてください。

 

上のSQL文あった「on プレゼントテーブル. 品目JAN = 品目. JAN;」のは

・プレゼントテーブルの各行について、まずは品目IDのデータに注目する

・それと等しいIDをもつ品目テーブルの行と取り出して結合する

という指示を出しています。

 

また結合する2つのテーブルは対等な関係ではありません。

from句で指定したテーブル、例文だとプレゼントテーブルが主体

それに対応した形で他のテーブルが結合されます。

 

まとめ

join句のポイントや注意点、基本の使い方を解説しました。

上達のコツはどこに注目して結合されるのか

イメージすることです。

The post 初心者向け[SQL]テーブルを結合する方法〜join on〜 first appeared on Useful Lab.]]>
2つのselect文を1つにする〜副問い合わせ、ネスト〜 https://useful-lab.com/archives/5174 Tue, 21 Apr 2020 14:00:21 +0000 https://useful-lab.com/?p=5174 同じテーブルの同じ列名の中で知りたい情報が2つあるときは SQL文を2回書かなければ、と思うあなた そんなSQL文を1つにまとめることができます。 それを副問い合わせ、selectをネストすると言います。

The post 2つのselect文を1つにする〜副問い合わせ、ネスト〜 first appeared on Useful Lab.]]>
同じテーブルの同じ列名の中で知りたい情報が2つあるときは

SQL文を2回書かなければ、と思うあなた

そんなSQL文を1つにまとめることができます。

 

それを副問い合わせ、selectをネストすると言います。

 

1つのSQLで2つの内容を求める

副問い合わせ、selectをネストする方法を解説します。

副問い合わせ、selectをネストする

実際に副問い合わせのSQL文を書いていきます。

select 列名, 列名 from テーブル名

where 列名

= (select 列名 from テーブル名);

となります。

 

次に実際に副問い合わせを使います。

スマホが家に持ち込む危険性を知っていますか?

家に帰宅したら手洗いうがい、

マスクをする以前に大事なことです。

しかし手を洗った後にスマホを必ず触りますよね?

ではそのスマホはキレイですか?

この危険性に気づけたあなたはこちら

が必要なこともわかりますよね?

 

実際にselectをネストする

例えばこのようなテーブルがあります。

テーブル名;プレゼント

購入日 品目 費用
2020/07/15 18000
2020/07/14 髪飾り 5000

このテーブルから最大の費用に関する品目と費用を知りたい

この項目の少ないテーブルでは一目みれば最大の費用と品目はわかりますが、

実際にはより膨大なデータ量をSQLで取り扱います。

その中の一部だと考えてください。

 

ここで最大の費用と品目を知るためにSQLを入力していくと

 

select max(費用), 品目 from プレゼント where 費用 = ,,,,,

となります。

それはどうしてかwhere 費用 =の先に入力する値は

max(費用)の値だからです。

しかしまだwhereにたどり着くまでにmaxの処理は終わっていません。

無理やりmax(費用)と入力するとエラーが出てしまいます。

 

それを回避するためには、

select max(費用) from プレゼント;

select 品目,費用 from プレゼント where 費用 = (1つ目のSQLで出た数値);

と入力することでエラーを回避できます。

 

しかしこれではSQL文を二度書く手間に。

そこでこの副問い合わせを使用すると

select 品目, 費用 from プレゼント

where 費用 = (select max(費用) from プレゼント);

と入力することで1つのSQLにできました。

 

まとめ

副問い合わせの基本的な部分に触れていきました。

The post 2つのselect文を1つにする〜副問い合わせ、ネスト〜 first appeared on Useful Lab.]]>
SQL 列ごとに結果を出す方法/グループ化〜group by〜 https://useful-lab.com/archives/5167 Sun, 19 Apr 2020 13:17:53 +0000 https://useful-lab.com/?p=5167 SQLで列ごとにグループ化して結果を表示する方法を解説していきます。 このグループ化を使うことで集計がグループ毎に行われ、 グループごとの集計結果が結果表の形で得られます。 SQLで列ごとにグループ化して結

The post SQL 列ごとに結果を出す方法/グループ化〜group by〜 first appeared on Useful Lab.]]>
SQLで列ごとにグループ化して結果を表示する方法を解説していきます。

このグループ化を使うことで集計がグループ毎に行われ、

グループごとの集計結果が結果表の形で得られます。

 

SQLで列ごとにグループ化して結果を表示する方法

試しにグループ化してそれぞれの合計を表示したい。

そのSQL文を書いていきます。

select sum(列名) from テーブル名 group by 列名;

で列ごとに合計を求められます。

 

グループ化するにはgroup by句を使います。

ウイルス対策できる除菌水

除菌グッズすら店頭では手に入らなくなってきている。

お店に行くこともリスクのひとつ。

だったら宅配でなおかつ安全性が保証されている

次亜塩素酸の除菌水使ってみませんか?

今なら加湿器プレゼント!空間除菌なら除菌水ジーア

複数の列をグループ化したい

複数の列をグループ化するには

group by句に複数の列をカンマで区切って指定することで

複数の列を基準にしたグループ化を行えます。

 

group by句でwhere句を使いたい

実際にgroup byを使ったSQLにwhereで処理をしようとしても

エラーになってしまいます。

なぜなら、where句を処理する段階ではまだ集計が終わっていないので

集計関数はwhere句には利用できません。

そこで使うのがhaving句です。

動きはwhereと変わりませが、集計結果に対する処理を行うことができます。

実際にSQLにすると

select 列名

from テーブル名

group by 列名

having 絞り込みの条件;

で行えます。

SQLの基本構文でwhereがgroup byよりも前で

havingはgroup byよりも後ろになります。

 

まとめ

group by句を使うことで

データの値をグループごとにまとめて計算できます。

The post SQL 列ごとに結果を出す方法/グループ化〜group by〜 first appeared on Useful Lab.]]>
【SQL】最大値、最小値、合計、平均、件数を求める https://useful-lab.com/archives/5161 Sat, 18 Apr 2020 14:01:25 +0000 https://useful-lab.com/?p=5161 SQLで最大値、最小値、合計、平均、件数を表示させる方法を解説します。 ここで使用する集計関数は 最大値、最小値、合計、平均、件数 max  、min   、sum、 avg 、count を使います。 S

The post 【SQL】最大値、最小値、合計、平均、件数を求める first appeared on Useful Lab.]]>
SQLで最大値、最小値、合計、平均、件数を表示させる方法を解説します。

ここで使用する集計関数は

最大値、最小値、合計、平均、件数

max  、min   、sum、 avg 、count

を使います。

 

SQLで最大値、最小値、合計、平均、件数を表示させる

最大値 max

最大値を表示させるSQL文はこちらです。

select max(列名) from テーブル名;

これでmax()のカッコ内にある列名の最大値を表示してくれます。

別名するには

集計関数を用いた結果を別名にしたい場合は、

select max(列名) as 別名前 from テーブル名;

で別名で表示できます。

 

最小値 min

最小値を表示させるSQL文はこちらです。

select min(列名) from テーブル名;

これでmin()のカッコ内にある列名の最小値を表示してくれます。

 

ウイルス対策できる除菌水

除菌グッズすら店頭では手に入らなくなってきている。

お店に行くこともリスクのひとつ。

だったら宅配でなおかつ安全性が保証されている

次亜塩素酸の除菌水使ってみませんか?

今なら加湿器プレゼント!空間除菌なら除菌水ジーア

合計 sum

合計を表示させるSQL文はこちらです。

select sum(列名) from テーブル名;

これでsum()のカッコ内にある列名の合計を表示してくれます。

 

合計値をさらに計算する

例えば集計関数を用いた結果に消費税(10%)をかけたい場合は

select sum(列名 * 1.1) from テーブル名;

とsumの中に式を記入することで可能にします。

 

平均 avg

平均を表示させるSQL文はこちらです。

select avg(列名) from テーブル名;

これでavg()のカッコ内にある列名の平均を表示してくれます。

 

件数 count

件数、行数を表示させる集計関数は2つあります。

 

単純に件数を求めたい場合のSQL文は

select count(*) from テーブル名 where 列名 = ‘単語’;

 

もう1つはnullの行を無視して件数を数える場合は

select count(列名) from テーブル名;

で検索できます。

 

重複した値を件数から除きたい場合は?

重複した値を除く場合はdistinctを使用します。

countで書きますが、他の集計関数でも使えます。

select count(distinct 列名) from テーブル名;

 

まとめ

集計関数の基本的な使い方を解説してきました。

それぞれ使いこなせるようになりましょう。

The post 【SQL】最大値、最小値、合計、平均、件数を求める first appeared on Useful Lab.]]>
SQL 2つのテーブルの和、差、積を求める〜union,except,intersect〜 https://useful-lab.com/archives/5148 Fri, 17 Apr 2020 13:34:16 +0000 https://useful-lab.com/?p=5148 SQLで2つのテーブルの和集合、差集合、積集合を結果に表示させます。 構造のよく似たテーブル同士を集合演算子によって 1つのSQL文で結果を表示できます。 SQLで2つのテーブルの和集合、差集

The post SQL 2つのテーブルの和、差、積を求める〜union,except,intersect〜 first appeared on Useful Lab.]]>
SQLで2つのテーブルの和集合、差集合、積集合を結果に表示させます。

 

構造のよく似たテーブル同士を集合演算子によって

1つのSQL文で結果を表示できます。

 

SQLで2つのテーブルの和集合、差集合、積集合を行う

和集合を求める union

はじめに2つのテーブルを2つのselect文を掛け合わせて実行していきます。

使用するのはunion演算子です。

2つのselect文をunionを使って繋ぎます。

select 列名 from 1つ目テーブル union select 列名 from 2つ目テーブル;

 

列名の部分は同じ名前の列名を入力します。

これで2つのテーブルの和を1つのSQL文で求められます。

 

order byや別名を表示する場合は?

結果を順番に並び替えるorder byを使う場合は、

一番最後のselect文に入力してください。

別名のasを使う場合は、

最初のselect文で入力してください。

 

差集合を求める except

2つのテーブルの差を求める差集合ではexcept演算子を使用します。

和集合のunionと同様に2つのselect文を1つのSQL文に結合します。

 

select 列名 from 1つ目テーブル名 except select 列名 from 2つ目テーブル名;

列名では同じ列名を入力します。

 

和集合で紹介したorder byやasを使う際のポイントは同じです。

 

ウイルス対策できる除菌水

除菌グッズすら店頭では手に入らなくなってきている。

お店に行くこともリスクのひとつ。

だったら宅配でなおかつ安全性が保証されている

次亜塩素酸の除菌水使ってみませんか?

今なら加湿器プレゼント!空間除菌なら除菌水ジーア

積集合を求める intersect

2つのテーブルの重なり合う部分を求める積集合ではintersect演算子を使用します。

こちらも2つのselect文を1つのSQL文にします。

select 列名 from 1つ目テーブル名 intersect select 列名 from 2つ目テーブル名;

列名は同じ列名を入力します。

 

和集合で紹介したorder byやasを使う際のポイントは同じです。

 

まとめ

集合演算子の使い方はわかりましたか?

注意なのが検索結果を表示してくれるorder by句は便利ですが、

DBMSにとってはかなり処理が大変です。

性能の低いパソコンの場合は表示されるまでに時間がかかるかもしれません。

The post SQL 2つのテーブルの和、差、積を求める〜union,except,intersect〜 first appeared on Useful Lab.]]>
SQLで昇順、降順、順番に並べる方法〜order by〜 https://useful-lab.com/archives/5143 Wed, 15 Apr 2020 12:13:35 +0000 https://useful-lab.com/?p=5143 SQLで昇順、降順、順番に並べる方法を解説します。 SQLで昇順、降順、順番に並べる方法 SQLで昇順で並べる方法 昇順に並べるということは 数字でいうと1,2,3,4,,,,のように小さな数

The post SQLで昇順、降順、順番に並べる方法〜order by〜 first appeared on Useful Lab.]]>
SQLで昇順、降順、順番に並べる方法を解説します。

 

SQLで昇順、降順、順番に並べる方法

 

SQLで昇順で並べる方法

昇順に並べるということは

数字でいうと1,2,3,4,,,,のように小さな数から。

日付だと一番古い日付から順番に、

英語だとA,B,C,,と並べます。

 

並び替えには「order by句」を使います。

では実際にSQL文を入力すると

select * from テーブル名 order by 列名;

になります。

 

「*」とは?と思ったあなたはこちらを見てください。

 

上記のSQL文の「テーブル名」の部分は順番に並べたいテーブル名を入力し、

order byの後ろにある列名は昇順で結果を表示させたい列名を入力します。

知らなきゃ損!アマゾンのアカウントさえあればできる宅配買取

無料でダンボールが届いて、売りたいもの詰め込んで

無料で送り返して、買取金が手に入る自宅で全て完結

そんな宅配買取を知っていましたか?

難しそう?アマゾンのアカウントさえあればできるんです。


SQLで降順で並べる方法

降順に並べるということは

数字でいうと大きな数字から小さな数字へ。

日付だと最新の日付から順番に、

英語だとZからAまでと並べます。

 

並び替えには「order by句」に加えて「desc」を加えます。

では実際にSQL文を入力すると

select * from テーブル名 order by 列名 desc;

になります。

 

descを入力すると降順になります。

 

複数降順する場合は?

複数の列を降順する場合は

select * from テーブル名 order by 列名 desc, 列名 desc;

となります。

 

まとめ

SQLで昇順、降順の方法はわかりましたか?

昇順の場合はASCを入れる場合もありますが、

省略可能なので省力して解説しました。

The post SQLで昇順、降順、順番に並べる方法〜order by〜 first appeared on Useful Lab.]]>
SQLで〇〇以上〇〇以下、〇〇または〇〇に一致する文字列を検索する https://useful-lab.com/archives/5136 Tue, 14 Apr 2020 11:50:15 +0000 https://useful-lab.com/?p=5136 SQLでBETWEEN、IN、NOT IN、ORを使って、 〇〇以上〇〇以下、〇〇または〇〇に一致する文字列を検索する方法を解説します。 SQLで〇〇以上〇〇以下、〇〇または〇〇に一致する文字列を検索する

The post SQLで〇〇以上〇〇以下、〇〇または〇〇に一致する文字列を検索する first appeared on Useful Lab.]]>
SQLでBETWEEN、IN、NOT IN、ORを使って、

〇〇以上〇〇以下、〇〇または〇〇に一致する文字列を検索する方法を解説します。

 

SQLで〇〇以上〇〇以下、〇〇または〇〇に一致する文字列を検索する

〇〇以上〇〇以下の検索はBETWEENを使います。

〇〇または〇〇に一致するをIN、ORを使い、

〇〇または〇〇に一致しない文字列を検索するのをNOT INを使います。

 

SQLで〇〇以上〇〇以下の検索を行う

例えば費用の計算で2000以上3000円以下に該当する文字列だけ抜き出す場合に使われます。

ではbetween演算子を使ってSQLを書いていきます。

select * from テーブル名 where 列名 between 数値 and 数値;

これでandの左にある数値以上、andの右にある数値以下と検索できます

 

select後ろの「*」とは?と思ったあなたはこちらを見てください。

あわせて読みたい
SQLで全ての列を検索する方法と*の意味SQLの基本でテーブルの全ての列を検索する方法と 「select * from テーブル名」の「*」が何を示しているか解説します。...

 

NURO光の申し込みをやめ、そしてドコモ光を選んだ

ネット速度が速いと言われているNURO光を

なぜやめたのか、知らないと損ですよ。本当に私は損しそうでした。

あわせて読みたい
NURO光の契約申し込みをやめた私、そしてドコモ光を選んだ〜NURO光はネットは早いけど対応は遅い〜 おはようございます。4月から新生活をするTANSANです。 初一人暮らし...

 

SQLで〇〇または〇〇に一致する検索をする

例えば2000円または3000円かどちらかに一致する検索の時に使用できます。

まずはin演算子を使い検索します。

select * from テーブル名 where 列名 in (‘文字列’, ‘文字列’);

で検索できます。

シングルクォーテーションに挟まれた文字列に一致する文字列が結果に表示されます。

 

次にorを使います。

select * from テーブル名 where 列名 = ‘文字列’ or 列名 = ‘文字列’;

で検索できます。

 

2つの方法で行えますが、and演算子の方がミスなく使いやすそうです。

 

〇〇または〇〇に一致しないの検索をします

先ほどとは逆で一致しないを検索します。

ここではnot in演算子を使います。

select * from テーブル名 where 列名 not in (‘文字列’, ‘文字列’);

 

inにnotを加えるだけで一致しない検索を行えます。

 

まとめ

同じ結果でも求めるSQLは複数あります。

一番簡単なSQLで入力しましょう。

The post SQLで〇〇以上〇〇以下、〇〇または〇〇に一致する文字列を検索する first appeared on Useful Lab.]]>