Task02---基础查询与排序

2.1编写一条SQL语句,从product(商品) 表中选取出“登记日期(regist_date)在2009年4月28日之后”的商品,查询结果要包含product name和regist_date两列。

SELECT product_name,regist_date

FROM product;

WHERE regist_date>’2009-4-28’;

2.2请说出对product 表执行如下3条SELECT语句时的返回结果。

①SELECT*

FROM product

WHERE purchase_price=NULL;

选出product表中进货单价为空的所有行内容

②SELECT*

FROM product

WHERE purchase_price<>NULL;

选出product表中进货单价不为空的所有行内容

③SELECT*

FROM product

WHERE product_name>NULL;

一般的逻辑运算并不存在不确定的值,没有结果

2.3代码清单2-22(2-2节)中的SELECT语句能够从product表中取出“销售单价(sale_price)比进货单价(purchase_price)高出500日元以上”的商品。请写出两条可以得到相同结果的SELECT语句。执行结果如下所示。

product_name | sale_price | purchase_price

T恤衫 |1000 |500

运动T恤 |4000 |2800

高压锅 |6800 |5000

SELECT product_name, sale_price, purchase_price

FROM product

WHERE sale_price>purchase_price+500

2.4请写出一条SELECT语句,从product表中选取出满足“销售单价打九折之后利润高于100日元的办公用品和厨房用具”条件的记录。查询结果要包括product_name列、product_type列以及销售单价打九折之后的利润(别名设定为profit)。提示:销售单价打九折,可以通过sale_price列的值乘以0.9获得,利润可以通过该值减去purchase_price列的值获得。

SELECT product_name, product_type, (sale_price*0.9-purchase_price) AS profit

FROM product

WHERE profit>100

AND ( product_name=’办公用品’

   OR product_name=’厨房用具’);

2.5请指出下述SELECT语句中所有的语法错误。

SELECT product_id, SUM(product_name)

FROM product

GROUP BY product_type

WHERE regist_date>‘2009-09-01’;

没有使用AS关键字为SUM(product_name)列设定别名;

2.6请编写一条SELECT语句,求出销售单价(sale_price列)合计值大于进货单价(purchase_price列)合计值1.5倍的商品种类。执行结果如下所示。

product_type |sum | sum

衣服 |5000 | 3300

办公用品 |600 | 320

![|440x121](file:///C:\Users\John\AppData\Local\Temp\ksohtml15264\wps3.png)

SELECT product_type, sum(sale_price)=sum1,sum(purchase_price)=sum2

FROM product

GROUP BY product_type

HAVING sum1>sum2*1.5

浙ICP备19012682号