問合せ結果を結合する方法、文字を直接表示する方法、代替引用符、DISTINCTを使用して重複を削除する方法
問合せ結果を結合する方法
・従業員の名前に「さん」を結合したい場合
SELECT ENAME || 'さん' AS 名前 FROM EMP;
--=結果=
/*名前
田中さん
佐藤さん
・
・
山田さん*/
このように名前の後に「||」をつけてその後、シングルクォーテーションで囲った文字列が結合され「田中」→「田中さん」という形で表示できる。
文字を直接表示する方法
・「さん」を「さ'ん」と表示させたい場合
SELECT ENAME 'さ''ん' "名前" FROM EMP;
--=結果==
/*名前
田中さ'ん
・・・
*/
前の結合では「さん」をシングルクォーテーションで囲う形だったが、今回「'さ' 'ん」と置く事でシングルクォーテーションを表示する事が出来た。
(注1)「'さ'ん'」ではエラーになってしまうので注意が必要。正しくは「'さ' 'ん'」
(注2)列名の変更で「名前」と変更する場合、ダブルクォーテーションで囲っている所に注意。
DISTINCTを使用してデータの重複を削除する方法
・データの重複を削除したい場合
[DEPTNO : 30,30,20,10,10,20という重複するデータ]
SELECT DISTINCT DEPTNO FROM EMP;
--==結果==
/*DEPTNO
30
20
10
*/
データの重複が削除され、30,20,10というデータのみが表示される。
・データの重複を複数のカラムで行う場合
[DEPTNO : 30,30,20,10,10,20]
[JOB : MANAGER , SALESMAN,CLERK,MANAGER,SALESMAN]
SELECT DISTINCT DEPTNO,JOB FROM EMP;
この記述では、「DEPTNO」,「JOB」で重複するデータをそれぞれ「OR」条件で絞り込んだデータが表示される
・「NULL」を含んだデータの重複を削除する方法
[COMM : NULL , 1400 ,500 ,300 ,1400 ,NULL ,300]
SELECT DISTINCT COMM FROM EMP;
--==結果==
/*COMM
1400
500
300
*/
「NULL」を含んだ値も「DISTINCT」では認識しており、一つのデータとして扱う。
また、「NULL」もデータの一つなので重複は削除される。