開発環境
- OS: OS X Lion - Apple
- データベース言語: SQL
- リレーショナルデータベース: MySQL
『初めてのSQL』(Alan Beaulieu 著、株式会社クイープ 翻訳、オライリー・ジャパン、2006年、ISBN4-8733-181-8) の11章(条件ロジック)、11.4(練習問題)11-1を解いてみる。
11-1.
SQL文(BBEdit)
SELECT emp_id,
CASE
WHEN
title LIKE "%President" OR
title = 'Treasurer' OR
title = "Loan Manager" THEN 'Management'
WHEN
title LIKE "Operations%" OR
title LIKE "%Teller" THEN 'Operations'
ELSE "UNKNOWN"
END title
FROM employee;
入出力結果(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 4
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> SELECT emp_id,
-> CASE
-> WHEN
-> title LIKE "%President" OR
-> title = 'Treasurer' OR
-> title = "Loan Manager" THEN 'Management'
-> WHEN
-> title LIKE "Operations%" OR
-> title LIKE "%Teller" THEN 'Operations'
-> ELSE "UNKNOWN"
-> END title
-> FROM employee;
+--------+------------+
| emp_id | title |
+--------+------------+
| 1 | Management |
| 2 | Management |
| 3 | Management |
| 4 | Operations |
| 5 | Management |
| 6 | Operations |
| 7 | Operations |
| 8 | Operations |
| 9 | Operations |
| 10 | Operations |
| 11 | Operations |
| 12 | Operations |
| 13 | Operations |
| 14 | Operations |
| 15 | Operations |
| 16 | Operations |
| 17 | Operations |
| 18 | Operations |
+--------+------------+
18 rows in set (0.00 sec)
mysql> SELECT title from employee;
+--------------------+
| title |
+--------------------+
| President |
| Vice President |
| Treasurer |
| Operations Manager |
| Loan Manager |
| Head Teller |
| Teller |
| Teller |
| Teller |
| Head Teller |
| Teller |
| Teller |
| Head Teller |
| Teller |
| Teller |
| Head Teller |
| Teller |
| Teller |
+--------------------+
18 rows in set (0.00 sec)
mysql> quit
Bye
$
0 コメント:
コメントを投稿