SQL教程:基础操作与函数详解
需积分: 3 118 浏览量
更新于2024-12-18
收藏 9KB TXT 举报
本资源是一份关于数据库操作的教程文本,涵盖了SQL语言的基础知识和常用函数,适合初学者和有经验的数据库管理员参考。以下是主要内容概要:
1. 用户管理与权限设置:
- `alter user scott account unlock;` 这个命令用于解锁用户scott的账户,以便他们可以登录。
- `conn sys/xiaofeng as sysdba;` 是一个连接到数据库的命令,可能涉及到权限提升,以便执行高级操作。
- `grant create table, create view to scott;` 授予用户scott创建表和视图的权限。
2. 查询数据基本操作:
- `select ename || sal from emp;` 进行简单的字段拼接查询。
- `selectename, sal + 12 from emp;` 对emp表中的ename和sal字段进行加法运算。
- `select distinct deptno, job from emp;` 获取部门编号和职位的唯一组合。
3. SQL表达式和条件筛选:
- 使用比较运算符如 `>`, `<`, `=`, `<>` 进行筛选,如 `selectename from emp where ename like '%ALL%'` 搜索包含"All"的员工姓名。
- 使用通配符 `like` 进行模糊匹配,如 `_A%` 匹配以"A"开头的姓名。
4. 字符串处理函数:
- `lower()` 函数用于将字段转换为小写,如 `substr(ename, 1, 3)` 提取姓名的前三个字符。
- `chr()` 函数用于ASCII码转字符,如 `chr(ASCII('A'))`。
- `round()` 用于四舍五入数值。
5. 格式化和日期处理:
- `to_char()` 函数用于格式化数值,如 `to_char(sal, '$99,999.9999')` 将薪水格式化为特定样式。
- `to_date()` 函数用于解析日期,如 `select * from emp where hire_date > to_date('1998-02-20 12:22:11', 'YYYY-MM-DDhh:mi:ss')`。
6. 聚合函数:
- `nvl()` 函数用于处理NULL值,如 `sal * 12 + nvl(comm, 0)` 计算薪水的总和,包括NULL值的处理。
- `sum()`, `max()`, `min()`, `count(*)`, `avg()` 分别用于求和、最大值、最小值、计数和平均值。
7. 分组和过滤:
- `select deptno, avg(sal) from emp group by deptno;` 按部门计算平均工资。
- `having avg(sal) > 2000` 在分组后添加条件,只显示平均工资超过2000的部门。
8. 多表查询:
- `selectename, dname from emp cross join dept;` 进行笛卡尔积,显示所有员工和部门的组合。
- `selectename, dname from emp, dept where emp.deptno = dept.deptno` 检查员工是否在对应的部门中。
这份资源提供了丰富的SQL基础知识,适用于学习者通过实践操作来熟悉数据库查询和管理。
221 浏览量
2012-08-21 上传
2020-04-15 上传
2014-09-28 上传
2009-04-21 上传
233 浏览量
2010-05-13 上传
yingxiaofeng2008
- 粉丝: 1
- 资源: 4
最新资源
- PureMVC AS3在Flash中的实践与演示:HelloFlash案例分析
- 掌握Makefile多目标编译与清理操作
- STM32-407芯片定时器控制与系统时钟管理
- 用Appwrite和React开发待办事项应用教程
- 利用深度强化学习开发股票交易代理策略
- 7小时快速入门HTML/CSS及JavaScript基础教程
- CentOS 7上通过Yum安装Percona Server 8.0.21教程
- C语言编程:锻炼计划设计与实现
- Python框架基准线创建与性能测试工具
- 6小时掌握JavaScript基础:深入解析与实例教程
- 专业技能工厂,培养数据科学家的摇篮
- 如何使用pg-dump创建PostgreSQL数据库备份
- 基于信任的移动人群感知招聘机制研究
- 掌握Hadoop:Linux下分布式数据平台的应用教程
- Vue购物中心开发与部署全流程指南
- 在Ubuntu环境下使用NDK-14编译libpng-1.6.40-android静态及动态库