【DB】SELECT文(条件)

DBの勉強の続きをしていきます!!
今回のテーマはSELECT文について!!



SELECT文

前回、SELECT文について勉強していますが、SELECT(参照)文はできることが多いので、もう少し掘り掘り下ないといけません。今回はその中で便利に使用できる条件設定を勉強していきます。


[基本構文]

SELECT 列名,列名,,,, もしくは「*」で列全指定
FROM テーブル名
WHERE 検索条件



DISTINCT

構文のSELECTの直後に「DISTINCT」を使用すると、抽出結果から重複を排除することができます。


[例]
USE [TestDB]
GO

--重複を排除して抽出する
SELECT DISTINCT [Adress]
FROM [USERMANAGE]
GO




BETWEEN

WHERE区でカラムに対して「BETWEEN X AND Y」を指定すると、X~Yの間の値を抽出できる。


[例]
USE [TestDB]
GO

--[User_ID]が1から5までのユーザを取得する
SELECT  *
FROM  [USERMANAGE]
WHERE  [User_ID] BETWEEN 1 AND 5
GO




IN

「IN ( 値 , 値 , , ,)」を使用すると()ないに指定した値のみを抽出することができます。


[例]
USE [TestDB]
GO

--[User_ID]が1と3の行を抽出する
SELECT *
FROM [USERMANAGE]
WHERE [User_ID] IN ( 1 , 3 )
GO




NULL抽出

WHERE区で「IS NULL」を指定することで、NULLを抽出することも可能です。


[例]
USE [TestDB]
GO

--[E_MAIL]がNILLの行を抽出する
SELECT *
FROM [USERMANAGE]
WHERE [E_Mail] IS NULL
GO




NOT

「NOT」を使用することで条件の否定を行うことができます。


[例]
USE [TestDB]
GO

--[User_ID]が1から5以外のユーザを取得する
SELECT  *
FROM  [USERMANAGE]
WHERE  [User_ID] NOT BETWEEN 1 AND 5
GO

--[E_MAIL]がNILL以外の行を抽出する
SELECT *
FROM [USERMANAGE]
WHERE [E_Mail] IS NOT NULL
GO




LIKE

「LIKE」を使用すると、部分一致の検索を行うことができます。「%」が任意の0文字以上の値を示し、「_」が任意の一文字を示します。


[例]
USE [TestDB]
GO


--[Tell]が080から始まる行を抽出する
SELECT *
FROM [USERMANAGE]
WHERE [Tell] LIKE '080%'

--[Tell]が0*0から始まる行を抽出する
SELECT *
FROM [USERMANAGE]
WHERE [Tell] LIKE '0_0%'
GO




以上!



【ブログを始めるなら】

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA