SQL教程:基础操作与函数详解

需积分: 3 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基础知识,适用于学习者通过实践操作来熟悉数据库查询和管理。