開発環境
- OS: OS X Lion - Apple
- データベース言語: SQL
- リレーショナルデータベース: MySQL
『初めてのSQL』(Alan Beaulieu 著、株式会社クイープ 翻訳、オライリー・ジャパン、2006年、ISBN4-87311-281-8) の3章(クエリ入門), 3.8(練習問題)3-4を解いてみる。
3-4.
入出力結果(Terminal)
$ mysql -u lrngsql -p bank Enter password: Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 86 Server version: 5.5.24 MySQL Community Server (GPL) Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> desc account; +--------------------+----------------------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------------+----------------------------------+------+-----+---------+----------------+ | account_id | int(10) unsigned | NO | PRI | NULL | auto_increment | | product_cd | varchar(10) | NO | MUL | NULL | | | cust_id | int(10) unsigned | NO | MUL | NULL | | | open_date | date | NO | | NULL | | | close_date | date | YES | | NULL | | | last_activity_date | date | YES | | NULL | | | status | enum('ACTIVE','CLOSED','FROZEN') | YES | | NULL | | | open_branch_id | smallint(5) unsigned | YES | MUL | NULL | | | open_emp_id | smallint(5) unsigned | YES | MUL | NULL | | | avail_balance | float(10,2) | YES | | NULL | | | pending_balance | float(10,2) | YES | | NULL | | +--------------------+----------------------------------+------+-----+---------+----------------+ 11 rows in set (0.20 sec) mysql> desc product; +-----------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------------+-------------+------+-----+---------+-------+ | product_cd | varchar(10) | NO | PRI | NULL | | | name | varchar(50) | NO | | NULL | | | product_type_cd | varchar(10) | NO | MUL | NULL | | | date_offered | date | YES | | NULL | | | date_retired | date | YES | | NULL | | +-----------------+-------------+------+-----+---------+-------+ 5 rows in set (0.01 sec) mysql> select name from product; +-------------------------+ | name | +-------------------------+ | auto loan | | business line of credit | | certificate of deposit | | checking account | | money market account | | home mortgage | | savings account | | small business loan | +-------------------------+ 8 rows in set (0.01 sec) mysql> select product_type_cd from product; +-----------------+ | product_type_cd | +-----------------+ | ACCOUNT | | ACCOUNT | | ACCOUNT | | ACCOUNT | | LOAN | | LOAN | | LOAN | | LOAN | +-----------------+ 8 rows in set (0.00 sec) mysql> select p.product_cd,a.cust_id,a.avail_balance -> from product p inner join account a -> on p.product_cd = a.product_cd -> where p.product_type_cd = 'ACCOUNT'; +------------+---------+---------------+ | product_cd | cust_id | avail_balance | +------------+---------+---------------+ | CD | 1 | 3000.00 | | CD | 6 | 10000.00 | | CD | 7 | 5000.00 | | CD | 9 | 1500.00 | | CHK | 1 | 1057.75 | | CHK | 2 | 2258.02 | | CHK | 3 | 1057.75 | | CHK | 4 | 534.12 | | CHK | 5 | 2237.97 | | CHK | 6 | 122.37 | | CHK | 8 | 3487.19 | | CHK | 9 | 125.67 | | CHK | 10 | 23575.12 | | CHK | 12 | 38552.05 | | MM | 3 | 2212.50 | | MM | 4 | 5487.09 | | MM | 9 | 9345.55 | | SAV | 1 | 500.00 | | SAV | 2 | 200.00 | | SAV | 4 | 767.77 | | SAV | 8 | 387.99 | +------------+---------+---------------+ 21 rows in set (0.15 sec) mysql> quit; Bye $
0 コメント:
コメントを投稿