SELECT文などでデータを取得する際に、取得行を絞り込む(選択)ときに使うのがWHERE句です。

例:金額が100円以上の売り上げを選択して取得する


SELECT * FROM sales WHERE price >= 100;

WHERE句に条件式を記述することで、例えば、「price >= 100」と記述して金額が100円以上のデータを取得することができます。またWHERE句には複数の条件を記述することも出来ます。

例:金額が100円以上で原価が50円以下の売り上げを選択して取得する


SELECT * FROM sales WHERE price >= 100 AND cost <= 50;

AlaSQLでの記述例


let sales = [
    {id:1, item_id:1, price:200, cost:50, created:'2020-6-12 10:00:00' },
    {id:2, item_id:1, price:180, cost:50, created:'2020-6-12 11:00:00' },
    {id:3, item_id:1, price:250, cost:60, created:'2020-6-13 10:00:00' },
    {id:4, item_id:1, price:200, cost:60, created:'2020-6-13 14:00:00' },
    {id:5, item_id:1, price:150, cost:60, created:'2020-6-13 18:00:00' },
];
let result = alasql("SELECT "
                        + "item_id, "
                        + "price, "
                        + "cost, "
                        + "(price - cost) AS profit "
                        + "FROM ? "
                        + "WHERE price >= 100 AND cost <= 50 "
                    ,[sales]);
console.log(result);

実行結果


0: {item_id: 1, price: 200, cost: 50, profit: 150}
1: {item_id: 1, price: 180, cost: 50, profit: 130}

SQL解説

金額が100円以上で原価が50円以下の売り上げを選択して取得すると、上記のような実行結果になります。価格は全商品100円以上ですがid3~5は原価が60円なので除外された形です。


SELECT item_id, price, cost, (price - cost) AS profit FROM sales WEHRE price >= 100 AND cost <= 50;