【SQL Server】SELECT 句 と FROM 句 を用いた検索

SQL Server
この記事は約4分で読めます。

【SQL Server】SELECT 句 と FROM 句 を用いた検索

SELECT 句 と FROM 句 を用いた検索の説明です。

基本構文

SELECT 取得対象 FROM テーブル名

事前準備

事前準備でテーブルを用意します。

--テーブル作成
CREATE TABLE [dbo].[T_SEITO](
[ID] INT,
[NAME] NVARCHAR(20) ,
[AGE] TINYINT ,
[SEIBETSU_KBN] char(1) NULL ,
[DEL_FLG] [bit] NOT NULL DEFAULT (0)
)

-- 初期データ登録
insert into T_SEITO select 1,N'犬塚太郎',20,'M','FALSE';
insert into T_SEITO select 1,N'犬塚太郎',20,'M','FALSE'; 
insert into T_SEITO select 2,N'犬塚次郎',18,'M','FALSE';
insert into T_SEITO select 3,N'猫塚花子',20,'F','FALSE';
insert into T_SEITO select 4,N'猫塚桃子',19,'F','TRUE';
insert into T_SEITO select 5,N'熊塚たけし',38,'M','FALSE';
insert into T_SEITO select 6,N'猿塚かおる',36,null,'FALSE';

 

全カラム・全レコード取得

全カラムを取得する場合「*」が使えます。「*」は「アスタリスク」と読みます。または少数派ですが、「ワイルドカード」という人も居ます。意味は、「なんにでも使えます」的な意味で、トランプでいうとジョーカーみたいな役割です。

クエリ

--全カラム・全レコード取得
SELECT * FROM T_SEITO

アスタリスクを使わない場合、全てのカラム名を書く必要があります。

クエリ

--全カラム・全レコード取得
SELECT
      ID,
      NAME,
      AGE,
      SEIBETSU_KBN,
      DEL_FLG,
      SYS_ETY_DATE,
      SYS_UPD_DATE
FROM T_SEITO
ID NAME AGE SEIBETSU_KBN DEL_FLG
1 犬塚太郎 20 M 0
1 犬塚太郎 20 M 0
2 犬塚次郎 18 M 0
3 猫塚花子 20 F 0
4 猫塚桃子 19 F 0
5 熊塚たけし 38 M 0
6 猿塚かおる 36 NULL 0

 

指定のカラム・全レコード取得

取得したいカラムだけ、記載します。

クエリ

--指定カラム・全レコード取得
SELECT
      ID,
      NAME,
      AGE
FROM T_SEITO
ID NAME AGE
1 犬塚太郎 20
1 犬塚太郎 20
2 犬塚次郎 18
3 猫塚花子 20
4 猫塚桃子 19
5 熊塚たけし 38
6 猿塚かおる 36

 

DISTINCT で 重複していない 結果を取得する

DISTINCT は、英語で、意味は「他とまったく別な」とかいう意味で、DISTINCT キーワードを指定すると、全てのカラムが異なるレコードが取得出来ます。

クエリ

--全カラム・全レコード(重複は1件にして)取得
SELECT DISTINCT * FROM T_SEITO
ID NAME AGE SEIBETSU_KBN DEL_FLG
1 犬塚太郎 20 M 0
2 犬塚次郎 18 M 0
3 猫塚花子 20 F 0
4 猫塚桃子 19 F 0
5 熊塚たけし 38 M 0
6 猿塚かおる 36 NULL 0

犬塚太郎のレコードが2件あるのですが、1件分しか取得されなくなりました。

コメント

タイトルとURLをコピーしました