SQL初学者必练:基础语法与实战应用

需积分: 10 0 下载量 60 浏览量 更新于2024-07-26 收藏 303KB PDF 举报
本篇文章主要针对SQL语言的初学者提供了一系列基础语法练习,涵盖了使用Oracle数据库中的scott/tiger用户下的emp表进行查询操作。emp表包含了雇员的基本信息,如雇员编号、姓名、职务、领导关系、入职日期、薪资和奖金等。通过这些练习,学习者可以深入理解SQL语句的结构和功能。 首先,练习1要求筛选出部门编号为30的所有员工,通过`SELECT * FROM emp WHERE deptno = 30`实现,这展示了如何使用基本的条件查询来获取特定范围的数据。 第二项练习涉及列出所有职务为"CLERK"(大小写敏感,需转换)的员工信息,使用`SELECT ename, empno, deptno FROM emp WHERE job = UPPER('clerk')`,这里演示了如何使用函数处理字符串比较。 第三部分练习目标是找出佣金高于薪资的员工,查询语句为`SELECT * FROM emp WHERE comm > sal`,展示如何比较两个字段的值。 第四题进一步细化条件,找出佣金高于薪资60%的员工,`SELECT * FROM emp WHERE comm > sal * 0.6`,涉及百分比运算和复合条件判断。 第五个练习是组合多个条件,找出部门10的经理(MANAGER)和部门20的办事员(CLERK)的详细信息,`SELECT * FROM emp WHERE (deptno = 10 AND job = 'MANAGER') OR (deptno = 20 AND job = 'CLERK')`,显示了逻辑运算符在多条件查询中的应用。 第六题更加复杂,要求找出部门10经理、部门20办事员,以及非这两种职位但薪资大于或等于2000的员工,`SELECT * FROM emp WHERE (deptno = 10 AND job = 'MANAGER') OR (deptno = 20 AND job = 'CLERK') OR (job NOT IN ('MANAGER', 'CLERK') AND sal >= 2000)`,展示了NOT IN操作符和混合条件的使用。 最后一个练习涉及到去重,使用DISTINCT关键字和IS NOT NULL条件,`SELECT DISTINCT job FROM emp WHERE comm IS NOT NULL`,显示了如何通过DISTINCT关键字消除重复的列,并强调了NULL值的处理。 这些SQL语法练习涵盖了数据选择、字符串处理、比较运算、逻辑运算、去重等多个方面,对提高初学者的SQL技能非常有帮助。通过实践这些练习,读者可以逐步掌握SQL查询的基本构造和灵活运用。
2021-05-29 上传