DataBase vol.6
- テスト
- レコードを一件追加する。
- レコードを更新する。
テスト
惨敗でした。以下、問題です。問題の後に正解が並んでいます。
- 社員テーブル(Employees)からBMI指数が10.0以上のBMI指数と、社員名を取り出しなさい。
- 売上テーブル(Sales)から、2007年度の商品売り上げ個数の合計を社員毎に社員IDと商品売上個数を取り出しなさい。
- 顧客テーブル(Customers)から東京23区や、その他区に所在する顧客を都道府県ごとに取り出しなさい。ただし取り出した際の表示は顧客名の降順とする。
- 商品テーブル(Products)から商品カテゴリごとに、価格が200円以上の商品の価格合計を求めなさい。ただし、商品名の最後が「ー」や「〜」で終わるものを含めてはいけない。
- 社員テーブル(Employees)から年齢の合計を、血液型毎に取り出しなさい。ただし、社員名の二文字目が「ー」である人を含んではいけない。また、社歴が長い人を順に並べ替えなさい。取り出しは社員ID、社員名、メールアドレスの3つとする。
A1.
SELECT EmployeeName AS "社員名" ,Weight / ((Height/100)*(Height/100)) AS "BMI" FROM Employees WHERE Weight / ((Height/100)*(Height/100)) >= 10 ;
A2.
SELECT EmployeeID AS "社員ID" ,SUM(Quantity) AS "商品売上個数" FROM Sales WHERE SaleDate >= "2007-01-01" AND SaleDate < "2008-01-01" GROUP BY EmployeeID ;
A3.
SELECT CustomerName AS "顧客名" ,Address AS "住所" FROM Customers WHERE Address LIKE "%区%" GROUP BY PrefecturalID ORDER BY CustomerName DESC ;
A4.
SELECT SUM(Price) FROM Products WHERE ProductName NOT LIKE '%ー' OR ProductName NOT LIKE '%〜' GROUP BY CategoryID HAVING SUM(Price) >=200 ;
A5.
SELECT SUM(2009-HireFiscalYear) FROM Employees WHERE EmployeeName NOT LIKE "_-%" GROUP BY BloodType ORDER BY SUM(2009-HireFiscalYear) DESC ;
レコードを一件追加する。
INSERT INTO テーブル名 (列名) VALUES (値) ;
- 文字は'で囲むこと。
問題1-3
テーブルSalesにデータを追加しなさい。
SaleID | 1006 | ProductID | 40 |
---|---|---|---|
Quantity | 10 | EmployeeID | 31 |
CustomerID | 1 | SaleDate | 2007-09-10 |
INSERT INTO Sales (SaleID ,ProductID ,Quantity ,EmployeeID ,CustomerID ,SaleDate) VALUES (1006 ,40 ,10 ,31 ,1 ,'2007-09-10') ;
レコードを更新する
UPDATE テーブル名 SET 列名 = 値 ;
問題3-1
テーブルEmployeesのEmailを***@nekoyasudoから***@nekoyasudo.co.jpに変更しなさい。
UPDATE Employees SET Email = CONCAT(Email,'.co.jp') ;