開発環境
- OS: OS X Lion - Apple
- データベース言語: SQL
- リレーショナルデータベース: MySQL
『初めてのSQL』(Alan Beaulieu 著、株式会社クイープ 翻訳、オライリー・ジャパン、2006年、ISBN4-87311-281-8) の10章(結合), 10.4(練習問題)10-2を解いてみる。
10-2.
入出力結果(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 13 Server version: 5.5.18 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.02 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.03 sec) mysql> select p.name, a.account_id -> from account a right outer join product p -> on a.product_cd = p.product_cd; +-------------------------+------------+ | name | account_id | +-------------------------+------------+ | auto loan | NULL | | business line of credit | 25 | | business line of credit | 27 | | certificate of deposit | 3 | | certificate of deposit | 15 | | certificate of deposit | 17 | | certificate of deposit | 23 | | checking account | 1 | | checking account | 4 | | checking account | 7 | | checking account | 10 | | checking account | 13 | | checking account | 14 | | checking account | 18 | | checking account | 21 | | checking account | 24 | | checking account | 28 | | money market account | 8 | | money market account | 12 | | money market account | 22 | | home mortgage | NULL | | savings account | 2 | | savings account | 5 | | savings account | 11 | | savings account | 19 | | small business loan | 29 | +-------------------------+------------+ 26 rows in set (0.00 sec) mysql> select p.product_type_cd, a.account_id from account a right outer join product p on a.product_cd = p.product_cd; +-----------------+------------+ | product_type_cd | account_id | +-----------------+------------+ | ACCOUNT | 3 | | ACCOUNT | 15 | | ACCOUNT | 17 | | ACCOUNT | 23 | | ACCOUNT | 1 | | ACCOUNT | 4 | | ACCOUNT | 7 | | ACCOUNT | 10 | | ACCOUNT | 13 | | ACCOUNT | 14 | | ACCOUNT | 18 | | ACCOUNT | 21 | | ACCOUNT | 24 | | ACCOUNT | 28 | | ACCOUNT | 8 | | ACCOUNT | 12 | | ACCOUNT | 22 | | ACCOUNT | 2 | | ACCOUNT | 5 | | ACCOUNT | 11 | | ACCOUNT | 19 | | LOAN | NULL | | LOAN | 25 | | LOAN | 27 | | LOAN | NULL | | LOAN | 29 | +-----------------+------------+ 26 rows in set (0.00 sec) mysql> select p.product_cd, a.account_id from account a right outer join product p on a.product_cd = p.product_cd; +------------+------------+ | product_cd | account_id | +------------+------------+ | CD | 3 | | CD | 15 | | CD | 17 | | CD | 23 | | CHK | 1 | | CHK | 4 | | CHK | 7 | | CHK | 10 | | CHK | 13 | | CHK | 14 | | CHK | 18 | | CHK | 21 | | CHK | 24 | | CHK | 28 | | MM | 8 | | MM | 12 | | MM | 22 | | SAV | 2 | | SAV | 5 | | SAV | 11 | | SAV | 19 | | AUT | NULL | | BUS | 25 | | BUS | 27 | | MRT | NULL | | SBL | 29 | +------------+------------+ 26 rows in set (0.01 sec) mysql> quit Bye kamimuras-MacBook-Pro:~ kamimura$
0 コメント:
コメントを投稿