oracle数据库:数据的查询之一
时间:2014-04-15 12:25 来源: 我爱IT技术网 作者:微风
任务:
1、查询显示商品类型数据
2、查询显示商品信息,要求显示商品编号、商品名称、商品单价
3、查询显示有折扣的商品信息,要求显示商品名称、商品单价、折扣、库存
4、查询显示商品单价在10-100元的商品信息
5、查询显示商品库存超过最高库存或低于最低库存的商品信息
6、查询没有电话号码的供应商信息
7、查询供应商中联系人姓李的信息
8、根据输入的类型编号查询商品信息
9、查询显示用户信息,要求电话号码显示固定电话中非区号部分。
10、查询显示商品信息,要求显示ID、商品名称、单价(取整)、折扣(保留1位小数位)、库存(取整)
11、查询在5月和6月过生日的用户信息
12、查询当月过生日的用户信息
13、查询当日起前两个月的采购单信息
14、统计每个用户的订单次数和订单总金额
15、查询2010年7月订单总金额在200元以上的用户订单次数和订单总金额
二、脚本
1\select * from t_type;
2\select gid as 商品编号,gname 商品名称,gprice "商品价格" from t_goods;
3\select gname,gprice,gdiscount,gstocks from t_goods where gdiscount<1;
4\select * from t_goods where gprice between 10 and 100;
5\select * from t_goods where gprice>gmaxstocks or gprice<gminstocks;
6\select * from t_supplier where sphone is null;
7\select * from t_supplier where scontact like '李%';
8\select gid,gname,gprice from t_goods where upper(gtid)=upper('t00002');
9\select substr(utelephone,instr(utelephone,'-')+1,length(utelephone)-instr(utelephone,'-')) 固定电话号码 from t_user;
10\select gid,gname,round(gprice,0) 价格,round(gdiscount,1) 折扣,round(gstocks) 库存 from t_goods;
11\select uname,ubirthday from t_user where to_char(ubirthday,'mm') in(5,6);
12\select uname,ubirthday from t_user where to_char(ubirthday,'mm')=to_char(sysdate,'mm');
13\select * from t_main_procure where pdate>ADD_MONTHS(sysdate,-2);
14\select uiid,count(omid),sum(oamount) from t_main_order group by uiid;
15\select uiid.count(omid),sum(oamount) from t_main_order where to_char(odate,'yyyymm')='201007' group by uiid having sum(oamount)>=200 order by sum(oamount) asc;
三、相关
1、在实际应用中,经常会涉及查询一些系统变量(如sysdate)或者常量、常量表达式之类的数据,这些数据不存在于任何一个用户基表中,为了构造完整的select语句,就诞生了dual表。
dual表只有一个dummy varchar2(1)字段,通过select看到只有一个值X,dual表就是为了给我们在数据库查询中填充from子句使用的。
2、列定义别名共采用了3种方式,效果是一致的,第一种是在原列名之后使用as谓词并附带上别名;第二种是空格隔开;第三种是使用双引号,如果别名中有空格,必须使用双引号
3、like中必须使用通配符来完成模糊查询,如果没有通配符的话,其功能和“=”是一致的。使用下划线匹配一个任意字符,使用百分号匹配0或者多个任意字符。由于like查询的效率比较低,对于大表格数据查询尽量避免使用。
本文来源 我爱IT技术网 http://www.52ij.com/jishu/5060.html 转载请保留链接。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
