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

数据查询     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 子句中包含 有多个条件,则必须在所有条件中都包含( + )操作符。
     • ③( + )操作符只适用于列,而不能用在表达式上。
     • ④( + )操作符不能与 OR IN 操作符一起使用。
     • ⑤( + )操作符只能用于实现左外连接和右外连接,而不能用于 实现完全外连接

下面两种连接方法执行结果相同(方法①使用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
     如果加号( + )写在左表,右表就是全部显示,所以是右连接。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值