落書きノート

ふと自分が気になった事を書いてます

SQLで問題を解く PostgreSQL

-- 第1部
-- 問題11
oracleoit=> select ename,hiredate 採用年月日
oracleoit-> from emp
oracleoit-> where hiredate <= '1981-04-01';
 ename |     採用年月日      
-------+---------------------
 SMITH | 1980-12-17 00:00:00
 ALLEN | 1981-02-20 00:00:00
 WARD  | 1981-02-22 00:00:00

-- 問題12
oracleoit=> select deptno 部門番号, count(deptno) 所属人数, min(sal) 最低給与, avg(sal) 平均給与, max(sal) 最高給与, sum(sal) 給与総額
oracleoit-> from emp
oracleoit-> group by deptno
oracleoit-> order by deptno;
 部門番号 | 所属人数 | 最低給与 |     平均給与     | 最高給与 | 給与総額 
----------+----------+----------+------------------+----------+----------
       10 |        3 |     1300 | 2916.66666666667 |     5000 |     8750
       20 |        5 |      800 |             2175 |     3000 |    10875
       30 |        6 |      950 | 1566.66666666667 |     2850 |     9400

-- 問題13
oracleoit=> select job,count(job) 社員数,sum(sal) 給与総額
oracleoit-> from emp
oracleoit-> group by job
oracleoit-> order by sum(sal) desc;
    job    | 社員数 | 給与総額 
-----------+--------+----------
 MANAGER   |      3 |     8275
 ANALYST   |      2 |     6000
 SALESMAN  |      4 |     5600
 PRESIDENT |      1 |     5000
 CLERK     |      4 |     4150

-- 問題14
oracleoit=> select max(length(address)) from customer;
 max 
-----
  11

-- 問題15
oracleoit=> select address || ' ' || cust_name || '御中' 顧客一覧
oracleoit-> from customer;
               顧客一覧                
---------------------------------------
 東京都足立区古千谷本町 古千谷商店御中
 東京都千代田区大手町 千代田商事御中
 東京都足立区竹の塚 竹の塚マート御中
 埼玉県春日部市竹里 竹里屋御中
 大阪府大阪市西区北堀江 西日本商会御中

-- 問題16
oracleoit=> select cust_id 顧客ID, cust_name 顧客名
oracleoit-> from customer
oracleoit-> where cust_name like '竹%';
 顧客id |    顧客名    
--------+--------------
      3 | 竹の塚マート
      4 | 竹里屋