開発環境
- OS: OS X Lion - Apple
- データベース言語: SQL
- リレーショナルデータベース: MySQL
『初めてのSQL』(Alan Beaulieu 著、株式会社クイープ 翻訳、オライリー・ジャパン、2006年、ISBN4-8733-181-8) の10章(結合), 10.4(練習問題)10-1を解いてみる。
10-1.
SQL文(TextWrangler)
select p.name, a.account_id from product p left outer join account a on p.product_cd = a.product_cd;
入出力結果(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 1
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.09 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 p.name, a.account_id
-> from product p left outer join account a
-> on p.product_cd = a.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.09 sec)
mysql> quit
Bye
$
0 コメント:
コメントを投稿