Oracle记录——02基本select语句

本文详细介绍了Oracle中的基本SQL语句,包括SQL的四大分类:DDL、DML、DQL和DCL,以及书写规则、操作符优先级、字符串处理、特殊字符转义、条件查询和排序等内容,旨在帮助读者掌握Oracle数据库的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

01——简介

SQL结构化查询语言 (Structured Query Language)

  • SQL 是一门 ANSI 的标准计算机语言,用来访问和操作数据库系统。
  • SQL基本分类
  • 数据定义语言DDL:定义数据库的逻辑结构,包括定义数据库、基本表、视图和索引等, 比如CREATE、ALTER、DROP等
  • 数据操纵语言DML:包括插入、删除和更新三种操作,比如INSERT、UPDATE、 DELETE等
  • 数据查询语言DQL:包括数据查询操作,比如SELECT、ORDER BY、GROUP BY等
  • 数据控制语言DCL:对用户访问数据的控制有基本表和视图的授权及回收,比如GRANT、 REVOKE等
  • 事务控制语言TCL:包括事务的提交与回滚,比如COMMIT、ROLLBACK等

02——书写规则

  •  不区分大小写。也就是说SELECT,select,Select,执行时效果是一样的。
  • 可以单行来书写,也可以书写多行,建议分多行书写,增强代码可读性。通常 以子句分行。
  • 关键字不可以缩写、分开以及跨行书写。如SELECT不可以写成SEL或SELE CT等形式。
  • 每条语句需要以分号(;)结尾。
  • 关键字大写,其他语法元素(如列名、表名等)小写。
  • 代码适当缩进

03——操作符优先级

* / + -
  • 乘除的优先级高于加减。
  • 同一优先级运算符从左向右执行。
  • 括号内的运算先执行。

04——字符串

  • 字符串可以是 SELECT 列表中的一个字符,数字,日期。
  • 日期和字符只能在单引号中出现。
  • 每当返回一行时,字符串被输出一次

05——特殊字符转义

  • 如果插入的值中有单引号,则用两个单引号即可。
  • 还可以使用q‘ 来对特殊字符进行转义。q‘转义符通常后面使用! [] {} () <> 等转义符号,也可以使用\ ,也可以用字母、数字、= 、+、-、 * 、&、$、%、# 等,不可以使用空格。

06——基本语句1

select * from 表名;

select 字段1, 字段2 from 表名;
-- 去重
select distinct 字段名 from 表名;

-- 起别名
select 字段1 as 别名1, 字段2 as 别名2 from 表名;

-- 连接符
select 字段1 || 字段2 || 字段3 from 表名;
select employee_id id, last_name || ' ' ||first_name Name from employees;

-- 字符串
select 字段1 || is a || 字段2 as 别名1 from 表名;


-- 显示表结构
desc 表名;


07——条件查询

-- where 子句
SELECT employee_id, last_name, job_id, department_id
FROM employees
WHERE department_id = 90 

08——字符串和日期

  • 字符串和日期要包含在单引号中。
  • 字符串区分大小写,日期格式敏感。
  • 默认的日期格式是 DD-MON-RR。
SELECT last_name, job_id, department_id
FROM employees
WHERE last_name = 'Whalen'

09——基本语句2

-- 比较运算符
-- 操作符: = > < >= <= <> 
select 字段1,字段2 from where 条件1 < 限定值

-- 操作符:
-- between...and...:在两个值之间(包含边界)
-- in(set)         :等于值列表中的一个  
-- like            :模糊查询
-- is null         :是否为空

select 字段1,字段2 from where 条件1 between 值1 and 值2 

select 字段1,字段2 from where 条件1  in (值1, 值2)

-- like 模糊查询
-- % 任意个字符
-- _ 单个字符
select * from employees where last_name like 'A%';
select * from employees where last_name like '_a%';
select * from employees where last_name not like 'A%';
-- 使用 ESCAPE 标识符 选择‘%’和 ‘_’ 符号。
select LAST_NAME from employees where LAST_NAME LIKE '_/_%' ESCAPE '/';


-- 逻辑运算符
-- and 逻辑与
-- or  逻辑或
-- not 逻辑否

10——优先级

  1. 算术运算符
  2. 连接符
  3. 比较符
  4. is (not) null, like, (not) in
  5. (not) between
  6. not
  7. and
  8. or
SELECT last_name, job_id, salary
FROM employees
WHERE job_id = 'SA_REP'
OR job_id = 'AD_PRES'
AND salary > 15000

-- ⚫ 使用括号控制执行顺序。

SELECT last_name, job_id, salary
FROM employees
WHERE (job_id = 'SA_REP'
OR job_id = 'AD_PRES')
AND salary > 15000

11——排序

-- order by
-- 升序 降序
SELECT last_name, department_id, salary
FROM employees
ORDER BY department_id, salary DESC;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值