sql server instructions help 入門 sponsored link


sqlの最近のブログ記事

★SQL★ コマンド ネスト 関数 使用 について

★SQL★ の関数は、

ほかのSQLの関数の結果を引数として

使用できます。


関数の中で

さらに

関数を使って

結果を出すことをネスト といいます。


ネストは、いくらでも

ネストすることができ

内側の関数からはじまり

順に値が返されます。


★SQL★ コマンド COALESCE関数 NULL値 処理について

COALESCE関数は、リストの中で

最初のNULLでない値を探し、

値を返します。

リストの一番左にある式が

NULLでなければ、その値が

返されます。

★SQL★
★SQL★ コマンド NULLIF関数 null値 処理について

NULLIF関数は、NULL値を返す関数でございます。

どういうときにNULL値を返すの?

まずは、次の構文を見てください。

NULLIF(引数1,引数2)

NULLIF関数の引数1と引数2を比較し、

比較した結果、2つの引数が等しい場合は、

NULLを返します。

NULLIF関数の2つの引数が

異なる場合は、

引数1を返しますの。


★SQL★
★SQL★ コマンド NVL関数 null値 処理について

NVL関数は、一般関数の1つです。

★SQL★ の一般関数は、どのデータ型においても

機能し、Null値について処理します。

NVL(引数1,引数2)

NULL値を文字列に置換して結果に含めることができます。

引数1がNULLのときは

引数2を返します。

引数1がNULLでないときは、

引数1を返します。


★SQL★ の中で、

プログラムみたいに条件処理ができます。

Oracleにおいては、
ifのほかに
case式と
decode関数があります。

decode関数はOracleの関数です。


select コード,身長,体重,
case 体重 when 50 then '50kg'
                  when 60 then '60kg'
                  when 90 then '90kg まぁ 太ってる'
                 when 100 then ' 100kg 太ってるよ!'
                 when 150 then '150kg でか!'
                when 200 then '200kg 太りすぎ!'
                else 'もう一度'
end as 感想
from 測定テーブル;

select  コード,商品名,値段
case when 値段 <= 500 then ''安い!'
          when 値段 <=1000 then  '高め'
        when 値段 <=2000 then '高すぎ!'
end as 感想
from 天丼価格テーブル;


decode関数については、
次回ご紹介します。



★SQL★  コマンド DISTINCT 重複行 削除


通常SELECT文での問い合わせ結果には

重複行が含まれることがあります。

こうした検索内容から重複する行を取除くには?

答え:SELECT DISTINCTを使います。

DISTINCT キーワードは、

★SQL★ ★SQL★ 文に1回のみ使用可能です。

全てのフィールドを選択出力す場合、
レコードと全く同じレコード以外が出力されます。

例)select distinct * from table1

通常は全件出ることでしょう。
つまり select * from table1 と同じになります。
sql コマンド group by グループ化

group by は、
テーブル内で選択された列で同じ値の行をグループ化します。

select * from table_1 btoup by NO;

select * sum(mny) from fruit_table group by fruit;

sum()は、グループ全体について
値を計算します。

select b,sum(c) from table group by b having sum(c) > 20;

select b,sum(c) from table group by b having b < 'a';
postgres ★SQL★ 部分インデックス

部分インデックスとは、
テーブルの部分集合に構築されるインデックスです。

※インデックスとは、
インデックスとは、
データの検索速度を向上させるために、
どの行がどこにあるかを示した索引のことです。
データを検索するときに、
目的のデータが見つかるまですべての行を一行ずつ調べていくのをやめて、、
索引を利用して目的の行の場所を見つけてから
その行のデータを読み取る。

create index
★SQL★ コマンド データ 並び替えORDER BY

抽出したデータの並び替えを行うには、
ORDER BY を使用する。
★SQL★  のorder by を使用した並び替えは、
列ごとに

昇順、
降順、
NULL

の表示順を設定できる。

※昇順とは、データの日付を古いものから新しいものへ、
データ量の小さいものから大きいものへ、
または文字を50音順に、
または、アルファベットをAからZの方向へと
並び替えることである。
逆の並べ方は降順と呼ばれる。


並び替えキーワードは
昇順:ASC(無指定時 デフォルト) と
降順:DESC
がある。


例 order by とDESCを使った例

SELECT * FROM table  ORDER BY name DESC


★SQL★ の例 order by とascを使った例

SELECT * FROM table  ORDER BY name asc
★SQL★  コマンドでテーブルの別名を使用する。

as を使用し、
テーブルの別名を作成できる。
以下を参照する。

select * from table_name as betu_name ;

または、

select * from table_name betu_name ;

長いテーブル名に短い名前を割り当てて読みやすくする。

例      as を使った例です。

select s.name,t.point from you_are_very_good_table s join thank_you_very_much_table t ;

select s.* from sky_table as s join ground_table as g ・・・・・


長いテーブル名を短い名前に変えるのが
as
です。
★SQL★ 例:新しいテーブル:mantbl

create table mantbl (
manid int,
manname varchar(80),
birthday int,
age int,
sex varchar(4)
);


manid:列の名前
manname:列の名前
birchday:列の名前
age:列の名前
sec:列の名前

それぞれの列の名前の後に
スペースを1つ入れます。

スペースの後に、
データ型を入れます。

新しいテーブルの作成結果として
select で抽出してみました。

db1=# select * from mantbl;
 manid | manname | birthday | age | sex
-------+---------+----------+-----+-----
(0 rows)


新しくテーブルができました。





Buzzurl/ hatena/ MyYahoo!/ livedoorClip/ Google/ niftyclip/ pookmark/ flog/ FC2/

category

SQL


<<select>>
banner_14.gif

<<SQL>>
banner_14.gif

<<sql distinct>>
banner_14.gif

ブログランキング