Oracleにおけるscottテーブル構造と簡単なクエリの実例分析
本明細書の例は、Oracleにおけるscottテーブル構造と簡単なクエリの方法を説明する。皆さんの参考にしてください。具体的な分析は以下の通りです。
1、scottユーザーのテーブルの構造
表示構造
descテーブル名//desc emp;
empテーブル:
SQL>desc emp;
名前は空ですか?タイプ
--------------------------
EMP NO NO NO NO NULL NUMBER(4)従業員番号
ENAME VRCHARR 2(10)従業員名
JOB VRCHARR 2(9)従業員職
MGR NUMBER(4)対応リード番号
HIREDATE DATE雇用日
SAL NUMBER(7、2)基本給
COMM NUMBER(7,2)ボーナス、コミッション
DEPTNO NUMBER(2)部門番号
dept表:
SQL>desc dept;
名前は空ですか?タイプ
--------------------------
DEPTNO NO NOT NULL NUMBER(2)部門番号
DNAME VRCHARR 2(14)部門名
LOC VRC HAR 2(13)部門の位置
salgrade表:
SQL>desc salgrade
名前は空ですか?タイプ
----------------------
GRADE NUMBER賃金等級
LOSAL NUMBERこの等級の最高賃金
HISAL NUMBERこのクラスの最高賃金
bonus表:
SQL>desc bonus
名前は空ですか?タイプ
--------------------------
ENAME VRCHARR 2(10)従業員名
JOB VRCHARR 2(9)従業員職
SAL NUMBER従業員給与
COMM NUMBER従業員ボーナス
2、簡単な検索
1.重複していない職位を照会する
select'sの従業員番号は:'????????????;?;?;?;;という名前です。従業員情報from emp;
4.oracleでデータを書くとき、大文字と小文字を区別する
今INオペレータを使ったら、クエリ範囲にnullが存在します。クエリに影響がありません。
マッチ記号:
マッチする文字:_0個
任意の複数文字にマッチします。%0、一つ、複数
すべての文字で「A」の先頭の従業員を検索します。
並べ替えの場合は、複数の並べ替えフィールドを指定できます。
並べ替え方式は2種類あります。デフォルト(ASC)昇順、DESC(降順)
給料によって序列をつける
1、scottユーザーのテーブルの構造
表示構造
descテーブル名//desc emp;
empテーブル:
SQL>desc emp;
名前は空ですか?タイプ
--------------------------
EMP NO NO NO NO NULL NUMBER(4)従業員番号
ENAME VRCHARR 2(10)従業員名
JOB VRCHARR 2(9)従業員職
MGR NUMBER(4)対応リード番号
HIREDATE DATE雇用日
SAL NUMBER(7、2)基本給
COMM NUMBER(7,2)ボーナス、コミッション
DEPTNO NUMBER(2)部門番号
dept表:
SQL>desc dept;
名前は空ですか?タイプ
--------------------------
DEPTNO NO NOT NULL NUMBER(2)部門番号
DNAME VRCHARR 2(14)部門名
LOC VRC HAR 2(13)部門の位置
salgrade表:
SQL>desc salgrade
名前は空ですか?タイプ
----------------------
GRADE NUMBER賃金等級
LOSAL NUMBERこの等級の最高賃金
HISAL NUMBERこのクラスの最高賃金
bonus表:
SQL>desc bonus
名前は空ですか?タイプ
--------------------------
ENAME VRCHARR 2(10)従業員名
JOB VRCHARR 2(9)従業員職
SAL NUMBER従業員給与
COMM NUMBER従業員ボーナス
2、簡単な検索
1.重複していない職位を照会する
select distinct job from emp;
2.年俸を調べて、別名を付けて、別名は単に引用符でくくらないでください。
select sal*12 [as] income from emp;
3.簡単なクエリーでは、クエリーのフィールドを「?124;」で接続することができます。
select empno ||','|| ename from emp;
sql文の文字列は単引用符で表します。select'sの従業員番号は:'????????????;?;?;?;;という名前です。従業員情報from emp;
4.oracleでデータを書くとき、大文字と小文字を区別する
select * from emp where job ='CLERK';
従業員ではない従業員の情報を調べる。
select * from emp where job!='CLERK';
select * from emp where job<>'CLERK';
select * from emp where NOT job='CLERK';
5.BETWEEN…ANDが大きいのは以下に等しい。
select * from emp where sal between 1500 and 3000;
逆もいいです
select * from emp where sal not between 1500 and 3000;
日付でもいいです
select * from emp where hiredate between '01-1 -1981' and '31-12 -81';
6.空IS(NOT)NULLかどうかを判断する
select * from emp where comm Is not null;
select * from emp where not comm Is null;
7.INオペレータ
select * from emp where empno in (7521,7844,5555);
select * from emp where empno not in (7521,7844,5555);
NOT INについて今INオペレータを使ったら、クエリ範囲にnullが存在します。クエリに影響がありません。
select * from emp where empno in (7521,7844,null);
今使っているのがNOT INの操作子です。もしクエリ範囲の中にnullがあれば、何の結果も返ってきません。
select * from emp where not empno in (7521,7844,null);
select * from emp where empno not in (7521,7844,null);
8.LIKE子文マッチ記号:
マッチする文字:_0個
任意の複数文字にマッチします。%0、一つ、複数
すべての文字で「A」の先頭の従業員を検索します。
select * from emp where ename like 'A%';
第二文字は「A」の従業員を検索します。
select * from emp where ename like '_A%';
Aという文字が含まれている従業員を検索します。
select * from emp where ename like '%A%';
文字が含まれていない「A」の従業員を調べます。
select * from emp where not ename like '%A%';
select * from emp where ename not like '%A%';
LIKE'%はクエリのすべてのデータを表します。
select * from emp where empno like '%%'
9.データの並べ替え
order by [ASC|DESC][, [ASC|DESC]……];
order by子文は必ずwhere子文の後に、すべてのsql文の最後になければなりません。並べ替えの場合は、複数の並べ替えフィールドを指定できます。
並べ替え方式は2種類あります。デフォルト(ASC)昇順、DESC(降順)
給料によって序列をつける
select * from emp order by sal desc;
まず給料順に並べて、雇用日順に並べます。
select * from emp order by sal desc,hiredate;
ここで述べたように、みんなのOracleプログラムの設計に役に立ちます。