sqlの最近のブログ記事
★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関数については、
次回ご紹介します。
プログラムみたいに条件処理ができます。
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 コマンド 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';
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
部分インデックスとは、
テーブルの部分集合に構築されるインデックスです。
※インデックスとは、
インデックスとは、
データの検索速度を向上させるために、
どの行がどこにあるかを示した索引のことです。
データを検索するときに、
目的のデータが見つかるまですべての行を一行ずつ調べていくのをやめて、、
索引を利用して目的の行の場所を見つけてから
その行のデータを読み取る。
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
抽出したデータの並び替えを行うには、
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
です。
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)
新しくテーブルができました。
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/