落書きノート

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

SQLで問題を解く

SQL> select cust_name, slip_date
  2  from customer, slip
  3  where customer.cust_id = slip.cust_id
  4  and slip_date between '1995-07-01' and '1995-07-31';

CUST_NAME        SLIP_DAT
-------------------- --------
古千谷商店           95-07-03
千代田商事           95-07-03
西日本商会           95-07-07

SQL> select cust_name, slip_date
  2  from customer natural join slip
  3  where slip_date between '1995-07-01' and '1995-07-31';

CUST_NAME        SLIP_DAT
-------------------- --------
古千谷商店           95-07-03
千代田商事           95-07-03
西日本商会           95-07-07

SQL> select cust_name, slip_date
  2  from customer join slip using (cust_id)
  3  where slip_date between '1995-07-01' and '1995-07-31';

CUST_NAME        SLIP_DAT
-------------------- --------
古千谷商店           95-07-03
千代田商事           95-07-03
西日本商会           95-07-07

SQL> select cust_name, slip_date
  2  from customer join slip on (customer.cust_id = slip.cust_id)
  3  where slip_date between '1995-07-01' and '1995-07-31';

CUST_NAME        SLIP_DAT
-------------------- --------
古千谷商店           95-07-03
千代田商事           95-07-03
西日本商会           95-07-07

SQL> select slip_id, cust_name, slip_date
  2  from customer,slip
  3  where customer.cust_id = slip.cust_id
  4  order by slip_id;

   SLIP_ID CUST_NAME        SLIP_DAT
---------- -------------------- --------
         1 千代田商事           95-06-19
         2 西日本商会           95-06-23
         3 竹里屋               95-06-23
         4 千代田商事           95-06-26
         5 竹の塚マート         95-06-29
         6 千代田商事           95-07-03
         7 古千谷商店           95-07-03
         8 西日本商会           95-07-07

8行が選択されました。

SQL> select slip_id, cust_name, slip_date
  2  from customer natural join slip
  3  order by slip_id;

   SLIP_ID CUST_NAME        SLIP_DAT
---------- -------------------- --------
         1 千代田商事           95-06-19
         2 西日本商会           95-06-23
         3 竹里屋               95-06-23
         4 千代田商事           95-06-26
         5 竹の塚マート         95-06-29
         6 千代田商事           95-07-03
         7 古千谷商店           95-07-03
         8 西日本商会           95-07-07

8行が選択されました。

SQL> select slip_id, cust_name, slip_date
  2  from customer join slip using (cust_id)
  3  order by slip_id;

   SLIP_ID CUST_NAME        SLIP_DAT
---------- -------------------- --------
         1 千代田商事           95-06-19
         2 西日本商会           95-06-23
         3 竹里屋               95-06-23
         4 千代田商事           95-06-26
         5 竹の塚マート         95-06-29
         6 千代田商事           95-07-03
         7 古千谷商店           95-07-03
         8 西日本商会           95-07-07

8行が選択されました。

SQL> select slip_id, cust_name, slip_date
  2  from customer join slip on (customer.cust_id = slip.cust_id)
  3  order by slip_id;

   SLIP_ID CUST_NAME        SLIP_DAT
---------- -------------------- --------
         1 千代田商事           95-06-19
         2 西日本商会           95-06-23
         3 竹里屋               95-06-23
         4 千代田商事           95-06-26
         5 竹の塚マート         95-06-29
         6 千代田商事           95-07-03
         7 古千谷商店           95-07-03
         8 西日本商会           95-07-07

8行が選択されました。

SQL> select slip_id
  2  from goods, account
  3  where goods.goods_id = account.goods_id
  4  and unit_price >= 1500
  5  order by slip_id;

   SLIP_ID
----------
     1
     3
     3
     5
     6
     6

6行が選択されました。

SQL> select distinct slip_id
  2  from goods, account
  3  where goods.goods_id = account.goods_id
  4  and unit_price >= 1500
  5  order by slip_id;

   SLIP_ID
----------
     1
     3
     5
     6

SQL> select goods_name 商品名
  2  from goods,slip,account
  3  where goods.goods_id = account.goods_id
  4  and slip.slip_id = account.slip_id
  5  and slip_date = '1995-06-23';

商品名
--------------------
片手鍋
中華鍋
フライパン

SQL> select goods_name 商品名
  2  from goods
  3  join account on goods.goods_id = account.goods_id
  4  join slip on account.slip_id = slip.slip_id
  5  where slip_date = '1995-06-23';

商品名
--------------------
片手鍋
中華鍋
フライパン

SQL> select goods_name 商品名
  2  from goods
  3  join account using(goods_id)
  4  join slip using(slip_id)
  5  where slip_date = '1995-06-23';

商品名
--------------------
片手鍋
中華鍋
フライパン

SQL> select goods_name 商品名
  2  from goods
  3  natural join account
  4  natural join slip
  5  where slip_date = '1995-06-23';

商品名
--------------------
片手鍋
中華鍋
フライパン