開発環境
- OS: OS X Lion - Apple
- データベース言語: SQL
- リレーショナルデータベース: MySQL
『初めてのSQL』(Alan Beaulieu 著、株式会社クイープ 翻訳、オライリー・ジャパン、2006年、ISBN4-87311-281-8) の9章(サブクエリ), 9.7(練習問題)9-3を解いてみる。
9-3.
入出力結果(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 7 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 employee; +--------------------+----------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------------+----------------------+------+-----+---------+----------------+ | emp_id | smallint(5) unsigned | NO | PRI | NULL | auto_increment | | fname | varchar(20) | NO | | NULL | | | lname | varchar(20) | NO | | NULL | | | start_date | date | NO | | NULL | | | end_date | date | YES | | NULL | | | superior_emp_id | smallint(5) unsigned | YES | MUL | NULL | | | dept_id | smallint(5) unsigned | YES | MUL | NULL | | | title | varchar(20) | YES | | NULL | | | assigned_branch_id | smallint(5) unsigned | YES | MUL | NULL | | +--------------------+----------------------+------+-----+---------+----------------+ 9 rows in set (0.10 sec) mysql> select e.emp_id,e.fname,e.lname,levels.name -> from employee e inner join ( -> select 'trainee' name,'2004-01-01' start_dt,'2005-12-31' end_dt -> union all -> select 'worker' name,'2002-01-01' start_dt,'2003-13-31' end_dt -> union all -> select 'mentor' name,'2000-01-01' start_dt,'2001-12-31' end_dt ) levels -> on e.start_date between levels.start_dt and levels.end_dt; +--------+---------+---------+---------+ | emp_id | fname | lname | name | +--------+---------+---------+---------+ | 1 | Michael | Smith | mentor | | 3 | Robert | Tyler | mentor | | 6 | Helen | Fleming | trainee | | 7 | Chris | Tucker | trainee | | 11 | Thomas | Ziegler | mentor | | 13 | John | Blake | mentor | | 16 | Theresa | Markham | mentor | +--------+---------+---------+---------+ 7 rows in set, 18 warnings (0.70 sec) mysql> quit; Bye $
0 コメント:
コメントを投稿