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;