2014年7月24日木曜日

開発環境

Head First SQL ―頭とからだで覚えるSQLの基本 (Lynn Beighley(著)、 佐藤 直生 (監訳)、 松永 多苗子 (翻訳)、オライリージャパン)の2章(SELECT 文: 天賦のデータ検索)、自分で考えてみよう(p.93)を解いてみる。

自分で考えてみよう(p.93)

コード(BBEdit, Emacs)

sample93.py

#!/usr/bin/env python3
#-*- coding: utf-8 -*-

import sqlite3

connection = sqlite3.connect('drinks.sqlite')
cursor = connection.cursor()

def p(msg):
    print(msg)
    for row in cursor.fetchall():
        print(row)

cursor.execute("""SELECT * FROM easy_drinks""")
print(tuple(map(lambda header: header[0], cursor.description)))
p('全て')

cursor.execute("""
SELECT drink_name FROM easy_drinks
WHERE main = 'オレンジジュース' OR
main = 'アップルジュース'
""")
p('OR')

connection.close()

入出力結果(Terminal, IPython)

$ ./sample93.py 
('drink_name', 'main', 'amount1', 'second', 'amount2', 'directions')
全て
('ブラックソーン', 'トニックウォーター', 1.5, 'パイナップルジュース', 1, '氷と一緒にかきまぜ、濾してカクテルグラスに入れ、レモンを一搾り加える')
('ブルームーン', 'ソーダ', 1.5, 'ブルーベリージュース', 0.75, '氷と一緒にかきまぜ、濾してカクテルグラスに入れ、レモンを一搾り加える')
('オーマイゴッシュ', '桃果汁', 1, 'パイナップルジュース', 1, '氷と一緒にかきまぜ、濾してショットグラスに入れる')
('ライムフィズ', 'スプライト', 1.5, 'ライムジュース', 0.75, '氷と一緒にかきまぜ、濾してカクテルグラスに入れる')
('キスオンザリップス', 'チェリージュース', 2, 'あんず果汁', 7, '氷の上に注いで、ストローを付ける')
('ホットゴールド', '桃果汁', 3, 'オレンジジュース', 6, '熟したオレンジジュースをマグカップに注いで、桃果汁を加える')
('ローンツリー', 'ソーダ', 1.5, 'チェリージュース', 0.75, '氷と一緒にかきまぜ、濾してカクテルグラスに入れる')
('グレイハウンド', 'ソーダ', 1.5, 'グレープフルーツジュース', 5, '氷の上に注いで、よく混ぜる')
('インディアンサマー', 'アップルジュース', 2, 'ホットティー', 6, 'ジュースをマグカップに加え、ホットティーで仕上げる')
('ブルフロッグ', 'アイスティー', 1.5, 'レモネード', 5, '氷の上に注いでライムを一切れ加える')
('ソーダアンドイット', 'ソーダ', 2, 'グレープジュース', 1, '氷を入れずに、カクテルグラスでシェイクする')
OR
('インディアンサマー',)
$

0 コメント:

コメントを投稿