数据库知识回顾:

sql语句的语法规范:

  1. sql语句不区分大小写,习惯上系统的保留字、关键字、函数名称大写,表名和列名小写
  2. 使用空格和换行分隔单词效果一样,一般情况下独立的整句不换行,不同的子句需要换行,where子句中每个条件占一行
  3. sql语句以分号作为分隔符,系统读取到分号才会执行语句
  4. 复杂的sql可以加上注释予以说明

--单行注释

/*

多行注释

多行注释

*/

/*
select 列名1,列名2,……列名n 定义查询数据所在的列
from 表1,表2,……表n 定义查询数据所在的表
where 限定条件1 and/or 限定条件2…… 定义查询数据的范围(行)
group by 列名1,列名2,……列名n 定义分组函数的分组方式
having 分组条件1 and/or 分组条件2…… 定义查询数据的分组条件
order by 列名1 asc/desc,列名2 asc/desc,……列名n asc/desc 定义查询数据的排序方式
*/

1. 单行函数

1) 字符函数:大小写转换,字符截取,空值判断……

2) 数字函数:向下取整,取余,四舍五入、截取

3) 日期函数:日期运算、加月份、当月最后一天、下一个星期几、系统时间

4) 转换函数:日期和字符之间的转换,数字转换字符

5) Decode函数:对不同的值给予不同的结果

6) 函数嵌套:一个函数的结果作为另一个函数的参数

2. 多表查询

1) 需要将多个表的数据显示在同一个查询结果时使用多表查询

2) 从多张表查询时需要使用连接来避免笛卡尔积

3) 查询n张表需要用到n-1个连接

4) 等值连接:表1的外键等于表2的主键

5) 不等值连接:表1的某列数据于表2的某列数据有其他比较关系

6) 自连接:本表的外键等于本表的主键

7) 外连接:不满足连接条件的数据也同样显示

3. 分组函数

1) Avg求平均值,sum求和,count计数,max求最大值,min求最小值

2) 使用group by语句对数据分组,每组数据产生一个结果

3) 出现在select语句中的普通列必须出现在group by子句中

4) Where子句可以限定分组函数计算的范围,但不能出现分组函数的条件

5) Having子句限定分组函数的条件

4. 子查询

1) 将一个查询结果作为另一个查询的条件

2) 子查询可以出现在where子句中作为限定条件,也可以出现在from后面,将查询结果作为一张表来进行查询

3) 子查询必须用括号括起来,并且在where子句中只能出现在比较运算符右侧

4) 单行子查询使用单行运算符,比较条件和查询出的数据类型及格式要一致

5) 多行子查询使用多行运算符:in,all,any

6) 多列子查询使用多列运算符:in

7) 使用rownum 进行分页查询

Oracle- 数据库知识回顾的更多相关文章

  1. Oracle 数据库知识汇总篇

    Oracle 数据库知识汇总篇(更新中..) 1.安装部署篇 2.管理维护篇 3.数据迁移篇 4.故障处理篇 5.性能调优篇 6.SQL PL/SQL篇 7.考试认证篇 8.原理体系篇 9.架构设计篇 ...

  2. Oracle数据库知识要点

    一.卸载安装(来自百度经验) 完全卸载: 1. 停止相关服务 2. 运行Universal Installer,卸载产品 3. 清理注册表 4. 重启电脑,删除目录(Oracle文件夹和app文件夹) ...

  3. Oracle 基本知识回顾

    1.查找数据库所用的字符集编码:SELECT USERENV('language') FROM DUAL;2.将一个表中的字段,插入到这个表:INSERT INTO TABLE SELECT * FR ...

  4. oracle data guard --理论知识回顾01

    之前搭建了rac到单实例的dg环境,最近又在windows下搭建了dg,这一篇关于dg的一些理论知识回顾 官方文档 https://docs.oracle.com/cd/E11882_01/nav/p ...

  5. Oracle数据库基础知识

    oracle数据库plsql developer   目录(?)[-] 一     SQL基础知识 创建删除数据库 创建删除修改表 添加修改删除列 oracle cascade用法 添加删除约束主键外 ...

  6. Oracle 数据库 基础学习 (一) SQL基本知识

    Oracle 从零开始,不知所措.要掌握一种技能,最好的方式是先学会怎么使用它,然后再深入学习,先有样子,再有技术.   一,什么是数据库? 为什么需要数据库? 数据库实质上是一个信息的列表,或者是一 ...

  7. Oracle数据库的后备和恢复————关于检查点的一些知识

    当我们使用一个数据库时,总希望数据库的内容是可靠的.正确的,但由于计算机系统的故障(硬件故障.软件故障.网络故障.进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使 ...

  8. ORACLE数据库 DBA常用知识

    <常用命令参考> 个系统变量值 SQL> show user --显示当前连接用户 SQL> show error --显示错误 SQL> set heading off ...

  9. Oracle数据库入门——基础知识

    1.安装完成Oracle数据库后,使用sqlplus客户端登录数据库管理系统,只输入用户名,没有输入密码时,会提示口令为空,登录被拒绝. 请输入用户名:system 输入口令: ERROR:ORA-0 ...

随机推荐

  1. 新西达电调初始化代码,使用nodejs ffi技术调用wiringpi,代码使用typescript编写

    这是我设计的F450四轴飞行器飞控代码的一部分 运行在orangepi-zero上,操作系统是armbian,思路是使用node-ffi调用wiringpi的so库与GPIO通信,然后控制端逻辑代码使 ...

  2. 部署自己的聊天系统 DuckChat(鸭信)

    之前在找一款能自己部署的聊天系统,要求含有手机端APP,最好部署过程能简单点的.看了几款稍嫌麻烦,有的还没有app.今天无意间发现了这款DuckChat,开源免费,有手机APP,部署非常简单.直接上传 ...

  3. C/C++程序基础-如何理解C++是面向对象化的,而C是面向过程化的

    1:答:C是面向过程化的,但是C++不是完全面向对象化的.在C++中也完全可以写出与C一样过程化的程序,所以只能说C++拥有面向对象的特性.Tava是真正面向对象化的.

  4. httpClinent工具类

    package com.juchn.gateway.common.utils; import java.io.BufferedReader; import java.io.IOException; i ...

  5. 【MyBatis】实现in操作符在WHERE 子句中规定多个值

    Mapper.xml中写: <select id="selectIdsByDate" resultType="java.lang.Long"> se ...

  6. MySQL5.7 创建及查看数据库

    1.创建数据库语句create database语句是在MySQL实例上创建一个指定名称的数据库.create schema语句的语义和create database是一样的. 2.语法解析 CREA ...

  7. 前端知识点回顾——Javascript篇(一)

    DOM特殊元素获取 document.documentElement //HTML标签 document.head //head标签 document.title //title标签 document ...

  8. SQL:百科

    ylbtech-SQL:百科 结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理 ...

  9. json-server搭建使用

    项目中前端和后端通常是并行开发,为了减少等待后端接口开发的时间,我们经常需要在本地模拟后端接口用来测试前端效果.这种做法称之为构建前端Mock. 本地启动一个静态服务,将所需要的接口写成json文件, ...

  10. .SpringIOC容器

    创建对象 SpringIOC容器,是spring核心内容. 作用: 创建对象 & 处理对象的依赖关系 IOC容器创建对象: 创建对象, 有几种方式: 1) 调用无参数构造器 2) 带参数构造器 ...