SQL教程:使用ON子句进行数据库连接

需积分: 25 2 下载量 91 浏览量 更新于2024-08-15 收藏 705KB PPT 举报
"这篇教程适合数据库语言初学者,讲解如何使用`ON`子句来创建连接。在关系数据库中,`ON`子句用于在JOIN操作中定义连接条件,这与WHERE子句不同,它专注于指定两个或多个表之间的关联。在给定的例子中,`emp`和`dept`表通过`deptno`列进行连接,只显示了`ename`和`dname`列,且限制了结果集中只包含`deptno`为30的记录。" 在SQL(结构化查询语言)中,数据库操作主要分为四大类:数据操纵语言(DML)、数据定义语言(DDL)、数据控制语言(DCL)以及事务处理。DML包括SELECT、INSERT、UPDATE和DELETE,用于查询和修改数据;DDL包括CREATE、ALTER、DROP、RENAME和TRUNCATE,用于创建、修改和删除数据库对象;DCL涉及GRANT和REVOKE,用于权限管理;而Transaction则涵盖了提交(commit)、回滚(rollback)和保存点(savepoint),用于管理数据库的事务。 实验中的数据表包括`emp`(雇员表)、`dept`(部门表)、`salgrade`(薪水等级表)和`bonus`(奖金表)。`emp`表有雇员工号、姓名、职位、经理工号、雇用日期、工资和津贴等字段;`dept`表有部门号、部门名称和地址;`salgrade`表记录了薪水等级和相应工资范围;`bonus`表包含雇员的额外奖金信息。 在SQL的SELECT语句中,基本结构是`SELECT [DISTINCT] {*, column alias,..} FROM table WHERE condition expression`。`DISTINCT`用于去除重复行,`column alias`可以为查询结果的列指定别名,使结果更易读。例如,可以只选择`emp`表的`Ename`和`Sal`列,并给它们分别取别名为`EmployeeName`和`Salary`,用法如下: ```sql SELECT Ename AS EmployeeName, Sal AS Salary FROM emp; ``` 此外,`ON`子句在JOIN操作中用于指定连接条件,如在`INNER JOIN`、`LEFT JOIN`、`RIGHT JOIN`或`FULL JOIN`中。在给定的示例中,`emp`和`dept`表通过`deptno`列进行`INNER JOIN`,并附加了一个WHERE子句进一步过滤结果,只返回`deptno`等于30的记录。 总结来说,本教程的核心知识点是`ON`子句的使用,它在连接两个表时定义了匹配的条件,而WHERE子句通常用于筛选满足特定条件的行。对于初学者,掌握这两者之间的区别和正确使用方式是学习SQL的基础。