Oracle查询大集锦

  • 格式:pdf
  • 大小:71.40 KB
  • 文档页数:4

下载文档原格式

  / 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle查询大集锦

1、 Select 语句的基本结构

Select <字段名或表达式列表> // * 号代表全部

From <想要查询的表名> //可以是一张表或多张表或视图

Where <查询的条件> //排除不满足条件的行返回需要的记录

Group By <分组的字段名或表达式> //将查询的结果按指定的一个字段或多个字段的值进行分组统计,分组字段或表达式的值相等的被分为同一组

Having <筛选条件> //用于对Group By 字句分组的结果进一步限定搜索条件

Order By <排序的字段名或表达式> //将结果按照指定字段进行排序(升序降序)默认是升序

2、选择数据表所有的列

Select * From Tablename;

3、选择数据表指定的列

Select 商品编号,商品名称,商品价格,库存数量 From 商品信息表;

4、查询时更改列标题

Select 商品编码 [As] good_code, 商品名称 [As] good_name, 商品价格 [As] good_price, 库存数量 [As] stock_number

From 商品信息表;

输出结果的时候列名被 AS 后面的替换了

提:[AS]可以省略。

5、查询时使用计算列

Select 商品价格*库存数量 As 金额

From 商品信息表;

6、使用 dual 表查询系统变量或表达式值

提:dual 表是为了给我们在数据库查询中填充 From 字句使用的

任务(1)查询 dual 表的记录数据

Select * From dual;

任务(2)通过系统变量 sysdate 显示系统当前日期

Select sysdate From dual;

任务(3)通过系统变量 sysdate 显示当前年份

Select Extract(Year From sysdate) 当前年份 From Dual;

任务(4)查询序列 user_seq 的当前值

Select erID_seq.currval From dual;

任务(5)查询当前用户的名字

Select user From dual;

7、 Distinct选择不重复的行(如果表中有多个Null的记录它们将作为重复值处理)

Select Distinct id From Tablename;

8、 Rownum(获取数据表中前面若干行)

Select id,name From Tablename Where rownum<8; //查询表Tablename中的前7行

9、 Where子句条件查询

任务(1)从“商品信息表”中查询类型编号为“0103”的商品信息

Select * From 商品信息表 Where 类型编号=’0103’;

任务(2)从“商品信息表”中查询生产日期在2012年12月16日之前的商品信息

Select * From 商品信息表 Where 生产日期

任务(3)从“商品信息表”中查询生产日期在2011年以及2011之后的商品信息

Select * From 商品信息表 Where Extract(Year From 生产日期)>=2011;

Select * From 商品信息表 Where to_char(生产日期,’YYY’)>=2011;

任务(4)从“商品信息表”中查询价格低于800元,库存数量高于5的商品信息

Select * From 商品信息表 Where 商品价格<800 And 库存数量>5;

任务(5)从“商品信息表”中查询生产日期在‘2012-06-20’和‘2012-12-20’的商品信息

Select * From 商品信息表 Where 生产日期 Between to_date(‘2012-06-20’,’YYY-MM-DD’)And to_date(‘2012-12-20’,’YYY-MM-DD’);

任务(6)从“商品信息表”中查询商品价格分别为‘600元’、‘1000元’、‘1500元’的商品信息

Select * from 商品信息表 Where 商品价格 In(600,1000,1500);

任务(7)从“商品信息表”中查询商品名称‘三星’开头的商品信息

Select * From 商品信息表 Where 商品名称 Like ’三星%’;

任务(8)从“商品信息表”中查询商品描述为空的商品信息

Select * From 商品信息表 Where 商品描述 Is Null;

任务(9):从“商品信息表”中查询商品名称中含有“三”的商品信息。

Select * From 商品信息表 Where 商品名称 Like ’%三%’;

任务(10):从“商品信息表”中查询商品名称中最后一个字是“星”的商品信息

Select * From 商品信息表 Where 商品名称 Like ‘%星’;

10、使用聚合函数实现查询

任务(1):从“商品信息表”中查询商品价格在“1000”元至“1500”元之间的商种数

Select Count(*)As 商品种数 From 商品信息表 Where 商品价格 Between 1000 And 1500;

任务(2):从“商品信息表”中查询商品的总库存数量。

Select Sum(库存数量)As 总库存数量 From 商品信息表;

任务(3):从“商品信息表”中查询不重复的商品类型

Select Count(Distinct(类型编码))As 商品类型数量 From 商品信息表;

任务(4):从“商品信息表”中查询商品的最高价、最低价和平均价格。

Select Max(商品价格)As 商品最高价,Min(商品价格)As 商品最低价,Round(Avg(商品价格))As 商品平均价格 From 商品信息表;

11、使用Order By字句对查询结果排序

任务(1):从方案“commerce”的“商品信息表”中查询商品价格在2000元以上的商品数据,要求按商品价格的升序输出

Select * From 商品信息表 Where 商品价格>2000 Order By 商品价格;

任务(2):从方案“commerce”的“商品信息表”中查询商品价格高于1500的商品数据,要求按商品名称的降序输出

Select * From 商品信息表 Where 商品价格>1500 Order By 商品名称 DESC;

任务(3):从方案“commerce”的“商品信息表”中查询所有的商品数据,要求按库存数量的升序输出,库存数量相同的按商品价格的降序输出。

Select * From 商品信息表 Order By 库存数量 ASC,商品价格 DESC;

12、查询时使用Group By字句进行分组

任务:从方案“commerce”的“商品信息表”中统计各类商品的平均价格和商品种数。

Select 类型编号,Round(Avg(商品价格),2)As 平均价格,Count(*)As 商品种数 From 商品信息表 Group By 类型编号;

13、查询时使用Having字句进行分组统计

任务:从方案“commerce”的“商品信息表”中查询价格高于1000元并且库存数量大于15的商品数量,同时统计平均价格在2000元以上的各类商品的总金额,并按总金额的降序排列。(降序是 Desc 升序是 Asc)

Select 类型编号,Round(Avg(商品价格),2)As 平均价格,Sum(商品价格*库存数量)As 金额 From 商品信息表 Where 商品价格>1000 And 库存数量>15 Group By 类型编号 Having Avg(商品价格)>2000 Order By 金额 Desc;

14、创建两个数据表之间的连接查询

任务:从方案“commerce”的“商品信息表”和“商品类型表”查询商品的详细信息,查询结果包含商品编码、商品名称、类型名称、商品价格、库存数量等字段。

Select 商品编码,商品名称,类型名称,商品价格,库存数量

From 商品信息表,商品类型表

Where 商品信息表.类型编号=商品类型表.类型编号;

Select 商品信息表.商品编码,商品信息表.商品名称,商品类型表.类型名称,商品信息表.商品价格,商品信息表.库存数量

From 商品信息表,商品类型表

Where 商品信息表.类型编号=商品类型表.类型编号;

Select g.商品编码,g.商品名称,t.类型名称,g.商品价格,g.库存数量

From 商品信息表 g,商品类型表 t

Where g.类型编号=t.类型编号;

15、创建多表连接查询

任务(1):从“订单主表”、“订单明细表”、“商品信息表”、“商品类型表”4个数据表中查询所有客户订购商品的详细信息,要求查询结果包括订单编号、购买数量、商品名称、类型名称等字段。

Select m.订单编号,d.购买数量,g.商品名称,t.类型名称

From 订单主表 m,订单明细表 d,商品信息表 g,商品类型表 t

Where m.订单编号=d.订单编号

And d.商品编码=g.商品编码

And g.类型编号=t.类型编号;

任务(2):从“订单主表”、“订单明细表”、“商品信息表”、“客户信息表”4个数据表查询客户“江北”所订购商品的详细信息,要求查询结果包括订单编号、客户名称、商品名称、购买数量等字段。

Select m.订单编号,c.客户名称,g.商品名称,d.购买数量

From 订单主表 m,订单明细表 d,商品信息表 g,客户信息表 c

Where m.订单编号=d.订单编号

And d.商品编码=g.商品编码

And m.客户=c.客户编号