数据查询,Oracle关于SELECT查询及其子句

原创 2018年04月16日 13:36:28

数据查询     Author:ZZU_ZZX

SELECT的基本语法:

    •SELECT……FROM……   最基本的结构,最基本的两个子句
    •还有一些其他的子句。例如:
                INTO子句              创建新表并把查询结果插入新表
                WHERE子句           指定查询条件
                GROUP BY子句      指定查询结果的分组条件
                HAVING子句          指定组或统计函数的搜索条件(COUNT(),AVG()………
                ORDER BY子句       指定结果集的排序

SELECT INTO FROM语句:
                语句形式为:SELECT value1, value2 INTO Table2 FROMTable1
                要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。

给查询返回的列起别名:
                有三种方法:

                                  ①在需要返回的列名后面直接加上别名 
                                     SELECT TS# 编号,NAME表空间名 FROM V$TABLESPACE;

                                  ②在需要返回的列名后面加AS 别名。执行效果与①中相同。
                                      SELECT TS# AS 编号,NAMEAS 表空间名 FROM V$TABLESPACE;

                                   ③把我们想用的别名用双引号引起来,此方法与上两种方法的区别我在另一篇文章                                                                          https://mp.csdn.net/postedit/79950966中有详细的解释,并且有详细的执行结果的截图
WHERE子句   设置查询条件:
                        添加条件时可以用= 也可以用LIKE关键字和通配符%(说多了没用,看下面的实例比较浅显易懂)



若要添加多个查询条件用AND连接:



ORDER BY 子句   对查询结果进行排序:

               默认状态下结果是升序排列的:

如果需要降序排列用DESC 关键字:


使用统计函数COUNT()求和,MAX()求最大........ :


使用COUNT()和MAX():
                     

连接查询:

                •连接查询分为内连接INNER JOIN和外连接
                •外连接又分为左外连接LEFT OUTER JOIN/ LEFT JOIN,右外连接RIGHTOUTER JOIN/RIGHT JOIN和全外连                   接FULL OUTER JOIN/FULL JOIN
                •内连接取交集
                •左连接左边的全取
                 右连接右边的全取
                •如果加号(+)写在左表,右表就是全部显示,所以是右连接

为了更清楚的认识内外连接的区别特举实例:(图中红色字体为查询结果)
            
SELECT中(+)的使用:(只用在外连接中)
     •①(+)操作符只能出现在WHERE子句中,并且不能与OUTER  JOIN语法同时使用。
     •②当使用(+)操作符执行外连接时,如果在WHERE子句中包含有多个条件,则必须在所有条件中都包含(+ )操作符。
     •③(+)操作符只适用于列,而不能用在表达式上。
     •④(+)操作符不能与ORIN操作符一起使用。
     •⑤(+)操作符只能用于实现左外连接和右外连接,而不能用于实现完全外连接

下面两种连接方法执行结果相同(方法①使用RIGHT JOIN,方法②使用操作符(+)):

    ①SELECT STU.ID, EXAM.ID, STU.NAME, EXAM.GRADE FROM STU RIGHT JOIN EXAM ON STU.ID =EXAM.ID
    ②SELECT STU.ID, EXAM.ID, STU.NAME, EXAM.GRADE FROM STU,EXAM WHERE STU.ID(+) =EXAM.ID
    如果加号(+)写在左表,右表就是全部显示,所以是右连接

数据库笔记4————关系数据库标准语言SQL中(SQL的数据查询)

数据库笔记4————关系数据库标准语言SQL中(SQL的数据查询) 一.主要内容和知识框架二.查询语句的一般格式和准备。 1.格式(中括号内的内容可有可无) SELECT [ALL|DISTINC...
  • qq_38499859
  • qq_38499859
  • 2017-11-04 19:21:10
  • 248

oracle with子句

以例子学习with: with --查询部门和部门的总薪水 dept_costs as ( select d.department_name,sum(e....
  • linwaterbin
  • linwaterbin
  • 2012-09-18 10:17:55
  • 2323

SELECT 语句与其子句的详解

SELECT 语句与其子句的详解- -Tag: SELECT    语句与其子句的详解                                        ...
  • jxcjxinxing
  • jxcjxinxing
  • 2006-12-17 16:31:00
  • 4839

Oracle SQL:select各类查询语句总结

Oracle select SQL 各类查询语句总结
  • yihuiworld
  • yihuiworld
  • 2015-03-28 11:45:41
  • 26269

oracle form builder中from子句查询作为数据源

1、创建from子句查询的步骤:         a、手工创建一个数据块。         b、在数据块的属性面板中选择“数据库数据块”为“是”。         c、在数据块的属性面板中选择“查询数...
  • cunxiyuan108
  • cunxiyuan108
  • 2011-03-08 10:20:00
  • 3030

在select子句里如何实现另一个select语句的查询|在select子句里用逗号隔开的每个项的本质是一个表达式

在select子句里能支持另一个select语句的实现形式如下(即要配合case when关键字): select case when lock_purpost in(SELECT id from...
  • haiross
  • haiross
  • 2015-10-15 15:33:29
  • 6354

sql查询原理和Select执行顺序

sql查询原理和Select执行顺序  sql查询原理和Select执行顺序关键字: 数据库 一 sql语句的执行步骤 1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义。 2) 语义...
  • luxiaoyu_sdc
  • luxiaoyu_sdc
  • 2011-06-12 14:07:00
  • 6539

如何查询其他内的表(IN子句实例)?

  • zgqtxwd
  • zgqtxwd
  • 2008-04-27 16:22:00
  • 113

ORA--06550与pls--00428:在此select语句中缺少Into子句

背景:        begin                 delete from ......;                 insert into........;           ...
  • xunzaosiyecao
  • xunzaosiyecao
  • 2014-01-08 09:38:29
  • 1738

当WHERE子句、GROUP BY子句和HAVING子句同时出现在一个查询中时,SQL的执行顺序

 当WHERE子句、GROUP BY子句和HAVING子句同时出现在一个查询中时,SQL的执行顺序如下: (1) 执行WHERE子句,从表中选取行。 (2) 由GROUP BY 子句对选取的行进行分组...
  • Wanghaishanren
  • Wanghaishanren
  • 2008-04-07 16:16:00
  • 3367
收藏助手
不良信息举报
您举报文章:数据查询,Oracle关于SELECT查询及其子句
举报原因:
原因补充:

(最多只允许输入30个字)