計算機科学のブログ

SQL - Python - SELECT文 - 天賦のデータ検索 - where句, 比較演算子

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

schema11_0.sql

select drink_name from drink_info
where calories < 30
or 60 < calories;

schema11_1.sql

select drink_name from drink_info
where calories between 60 and 30;
-- 該当なし

コード

sample11.py

#! /usr/bin/env python3
import sqlite3

con = sqlite3.connect('sample.db')
cur = con.cursor()

for i in range(2):
    with open(f'schema11_{i}.sql') as f:
        cur.execute(f.read())
    if (d := cur.description) is not None:
        print([t[0] for t in d])
    for row in cur.fetchall():
        print(row)

cur.close()
con.close()

入出力結果(Terminal, Zsh)

% ./sample11.py 
['drink_name']
('ブルームーン',)
('ライムフィズ',)
('キンオンザリップス',)
('ホットゴールド',)
('ローンツリー',)
('ブルフロッグ',)
('ソーダアンドイット',)
['drink_name']
%