僕はワクワクしたい(/・ω・)/

社内であたふたしているSEのメモ帳

oracle sqlのお勉強メモ【No. 1】

表構造の表示

DESCRIBE 表名 または DESC 表名

列別名

select 列名 列別名 from ... または select 列名 as 列別名 from ...
※列別名の大文字小文字を区別したい場合、
列別名にスペースなどがある場合が"(ダブルクォテーション)で囲みましょう

連結演算子

||でつなぐことができます。
select 'あの人は'||name||'さんです。' from ...

重複業の排除

select distinct 列名 from ...
複数個指定、例えば
select distinct 列名1, 列名2 from...
とすると列名1と列名2の組み合わせが一意になるものが表示されます。

where句で条件指定する

select * from テーブル名 where ...

あいまい検索(LIKE演算子)

where 列名 like '文字パターン' または where 列名 not like '文字パターン'

ワイルドカード 意味
% 0文字以上の文字列
_ 任意の1文字

%や_を含む文字パターンを指定したい場合は
where 列名 like '%\%%' escape '\' というように書きましょう

取得レコードの並べ替え

order by 列名 asc ascだと昇順、descだと降順に並べ替えてくれます

出力行の制限

offsetfetchを使う。

コマンド 説明
offset スキップする行数
fetch 返却される行数または割合

例1:先頭から5行を表示
select * from テーブル名 order by カラム名 fetch first 5 rows only

例2:先頭から5行を飛ばして6行目以降を表示
select * from テーブル名 order by カラム名 offset 5 rows

例3:先頭から3行を飛ばして4行目から行目までの3行を表示。
  かつ6行目のデータと同じものがあれば7行目も表示

select * from テーブル名 order by カラム名 offset 3 rows fetch 3 rows with ties

広告を非表示にする