Oracle Technology
| グループ関数 |
|---|
avg
count
max
min
stddev
sum |
| 日付関数 |
|---|
add_months
last_day
months_between
next_day
sysdate |
| 文字列関数 |
|---|
concat
instr
length
lengthb
lower
lpad
ltrim
replace
rpad
rtrim
substr
trim
upper |
| 変換関数 |
|---|
ascii
case
chr
coalesce
decode
nvl
nvl2
to_char
to_date
to_number |
| 算術関数 |
|---|
abs
ceil
floor
mod
power
round
sqrt
trunc |
| 分析関数 |
|---|
rankとdense_rank |
| SQLの基本 |
|---|
SQLとは
リレーショナルデータベースとは
文字列は'(シングルクォーテーション)で囲む
大文字と小文字は区別しない
SQL文の終止符
コメント
スキーマ
Oracleデータ型 |
| SELECT文 |
|---|
行を検索する
>q演算子
LIKE検索時のエスケープ
別名をつける
重複した行を取り除く
検索条件を指定する
副問い合わ
with |
| group by句 |
|---|
グループ化して問い合わせ
rollup
cube |
| order by句 |
|---|
検索結果をソートする
NULLS FIRSTとNULLS LAST
ORDER BYでのエラー |
| 表の結合 |
|---|
クロス結合
自然結合
using句での結合
on句での結合 |
| ロック |
|---|
FOR UPDATE
ロックの解除 |
| INSERT文 |
|---|
行を挿入する |
| UPDATE文 |
|---|
行を更新する |
| DELETE文 |
|---|
行を削除する |
| 算術演算子 |
|---|
+演算子
-演算子
*演算子
/演算子 |
| 論理演算子 |
|---|
AND演算子
OR演算子
NOT演算子
IN演算子
BETWEEN演算子
ALL演算子
ANY演算子
EXISTS演算子
SOME演算子 |
| 比較演算子 |
|---|
=演算子
>=演算子
>演算子
<=演算子
<演算子
<>演算子
!=演算子 |
| その他演算子 |
|---|
||演算子 |
| 動的パフォーマンスビュー |
|---|
V$SQLAREA |
| パフォーマンスチューニング |
|---|
パフォーマンスチューニングとは
列名を表名で修飾する
*はなるべく使用しない
ROWIDで更新する
UNION ALLの使用
暗黙型変換を使用しない
IN演算子使用時の注意
TKPROF
TKPROFトレースファイルの見方
共有プールを空にする
バッファキャッシュを空にする
indexを強制使用
テーブルを順番に結合
explain plan |
| データベースオブジェクト |
|---|
データベースオブジェクトとは
CREATE TABLE
表の変更
既存テーブルにプライマリキーを付加する
表の削除
ビューの作成
ビューの削除
順序の作成と採番
順序の変更
順序の削除
索引の作成
索引の変更
索引の削除
制約とは
シノニムとは
シノニムの作成
シノニムの削除 |
| 集合演算子 |
|---|
集合演算子とは
UNION
UNION_ALL
MINUS
INTERSECT |
| 擬似列 |
|---|
擬似列とは
ROWNUM |
| Tips |
|---|
数値の1 = '1'は等しい
1 - nullはnullとなる
空文字はnullと見なされる
フィールド名 = nullとしてもエラーにならない
null = nullは等しくない
グループ関数のネスト制限
where句でグループ関数は使用できない
検索結果にシーケンシャルな番号を振る
order byした後にrownumを付加する
データのバックアップ |
| 階層問い合わせ |
|---|
階層問い合わせ
逆階層問い合わせ
階層問い合わせのループ |