- SQL 认证学习资料
- SQL - 简介
- SQL - SQL 考试大纲
- SQL - SQL SELECT 语句
- SQL - 限制和排序数据
- SQL - 使用单行函数
- SQL - 条件表达式
- SQL - 使用组函数
- SQL - 从多个表获取数据
- SQL - 使用子查询解决查询
- SQL - 使用集合运算符
- SQL - 数据操作
- SQL - 使用 DDL 语句
- SQL - 创建其他模式对象
- SQL 认证试题库
- SQL - SQL SELECT 语句
- SQL - 限制和排序数据
- SQL - 使用单行函数
- SQL - 转换函数
- SQL - 条件表达式
- SQL - 使用组函数
- SQL - 从多个表获取数据
- SQL - 使用子查询解决查询
- SQL - 使用集合运算符
- SQL - 数据操作
- SQL - 使用 DDL 语句
- SQL - 创建其他模式对象
- SQL 认证模拟考试
- SQL 认证 - 模拟考试
- SQL 认证有用资源
- SQL 认证 - 有用资源
- SQL 认证 - 讨论
SQL - SQL SELECT 语句练习题
1. 识别 SELECT 语句的功能。
- 投影
- 选择
- 数据控制
- 事务
答案:A、B。SELECT 语句可用于选择、投影和连接。
2. 确定给定查询中演示的 SELECT 语句的功能。
SELECT e.ename, d.dname FROM emp e, dept d WHERE e.deptno = d.deptno AND e.sal > 1000;
- 选择
- 过滤
- 连接
- 投影
答案:A、C、D。投影是指仅在查询中包含所需的列,而选择是指仅选择所需的数据。连接是指通过连接列将两个表组合在一起。
3. 以下哪个子句用于在 SELECT 语句中抑制重复项?
- INTERSECT
- DUPLICATE
- DISTINCT
- UNIQUE
答案:C、D。可以使用 SELECT 语句中的 DISTINCT 或 UNIQUE 来限制重复数据。
4. 选择正确指定编写 SQL 语句规则的语句
- SQL 语句区分大小写
- 关键字可以缩写以构建标准
- SQL 语句不区分大小写
- 子句必须放在一起
答案:C。SQL 语句不区分大小写。
5. 确定以下查询的输出 -
SELECT '5+7' FROM dual;
- 12
- 5+7
- 5
- 7
答案:B。Oracle 将双引号内的值视为字符串表达式。
6. 编写一个查询,以显示 EMP 表中的员工详细信息(姓名、部门、工资和职位)。
SELECT ename, deptno, sal, job FROM emp;
SELECT * FROM emp;
SELECT DISTINCT ename, deptno, sal, job FROM emp;
SELECT ename, deptno, sal FROM emp;
答案 A。从每个表中选择所需内容,并用逗号隔开。
7. 以下哪个查询显示员工姓名和增加 1000 后的新工资?
SELECT ename, sal FROM emp;
SELECT ename, sal=sal+1000 FROM emp;
SELECT ename, sal+1000 FROM emp;
SELECT ename, 1000 FROM emp;
答案:C。可以使用 SELECT 语句中的列进行基本的算术运算。
8. 确定以下查询的输出
SELECT 36/2-5*10 FROM dual;
- 130
- -32
- -120
- 175
答案:B。乘法和除法在加法和减法之前执行。
9. 确定以下查询的输出
SELECT (100-25)/15*(20-3) FROM dual;
- 0.294
- -85
- 63.67
- 85
答案:D。括号内的表达式在表达式中的除法和乘法之前执行。
10. 选择正确定义 NULL 值的语句。
- NULL 是一个具有零字节的特殊值
- NULL 是没有值或未知值
- NULL 由空格表示
- NULL 不等于零
答案:B、D。NULL 是没有值,但既不等于零也不等于空格字符。
11. 确定以下查询的输出
SELECT sal + NULL FROM emp WHERE empno = 7369;
- sal + NULL
- NULL
- 0
- 1250
答案:B。任何与 NULL 的算术运算都会导致 NULL。
12. 以下哪些语句正确定义了列别名?
- 列别名重命名列标题
- 列别名是表中的备用列
- 列别名可以在表定义期间指定
- 列别名紧跟 SELECT 语句中的列或表达式
答案:A、D。列别名可用于命名 SELECT 语句中的表达式。
13. 为以下 SQL 查询中包含 salary 的表达式指定列别名 NEWSAL
SELECT ename, job, sal + 100 FROM emp;
- (sal + 100) AS NEWSAL
- (sal + 100) NEWSAL
- (sal + 100) IS NEWSAL
- sal + 100 IS NEWSAL
答案:A、B。使用 'AS' 来表示列表达式的新的别名。
14. 为以下 SQL 查询中包含 salary 的表达式指定列别名“New Salary”
SELECT ename, job, sal + 100 FROM emp;
- (sal + 100) AS New Salary
- (sal + 100) "New Salary"
- (sal + 100) IS New Salary
- sal + 100 as "New Salary"
答案:B、D。带有空格和特殊字符的列别名必须用双引号括起来。
15. 使用哪个命令显示表的结构?
- LIST
- SHOW
- DESCRIBE
- STRUCTURE
答案:C。DESCRIBE 用于显示表结构。
16. 预测在 SQL*Plus 中执行以下语句时的输出?
DESC emp
- 引发错误“SP2-0042: unknown command "desc emp" - rest of line ignored.”
- 列出 EMP 表的列
- 列出 EMP 表的列、其数据类型和空值
- 列出 EMP 表的列及其数据类型
答案:C。DESCRIBE 用于显示表结构以及表列、其数据类型和空值
17. 以下关于 DESCRIBE 命令的哪些语句是正确的?
- 它只能在 SQL*Plus 中使用
- 它可以在 SQL*Plus 和 SQL Developer 中使用
- 它不适用于对象表
- 它不适用于 SYS 拥有的表
答案:B。
18. 以下哪些字母数字字符用于表示 SQL 中的连接运算符?
- +
- ||
- -
- ::
答案:B。在 SQL 中,连接运算符由两个垂直线 (||) 表示。
19. 以下关于 SQL 中连接运算符用法的哪些语句是正确的?
- 它在表中创建一个虚拟列
- 它生成一个字符表达式,作为一个或多个字符串连接的结果
- 它在两个字符列之间创建链接
- 它可用于将日期表达式与其他列连接起来
答案:B、D。连接运算符将两个值作为表达式连接起来。
20. 预测以下查询的输出
SELECT ename || NULL FROM emp WHERE empno = 7369
- SMITH
- SMITH NULL
- SMITHNULL
- ORA-00904: "NULL": invalid identifier
答案:A。与 NULL 的连接导致相同的值。
21. 预测以下查询的输出
SELECT 50 || 0001 FROM dual
- 500001
- 51
- 501
- 5001
答案:C。Oracle 会忽略表达式右操作数中的前导零。
22. 您执行以下查询
SELECT e.ename||' departments's name is:'|| d.dname FROM emp e, dept d where e.deptno=d.deptno;
并获得异常 - ORA-01756: quoted string not properly terminated。以下哪些解决方案可以永久解决此问题?
- 对文字字符字符串使用双引号
- 使用 [q] 运算符引用文字字符字符串并选择所需的定界符
- 从文字字符字符串中删除单引号(撇号)
- 使用其他定界符绕过文字字符串中的单引号撇号
答案:B。[q] 运算符用于用引号引用字符文字。
23. 以下哪个 SELECT 语句显示了 [q] 运算符的正确用法?
SELECT e.ename || q'[department's name is]'|| d.dname FROM emp e, dept d WHERE e.deptno = d.deptno;
SELECT e.ename || q['department's name is']|| d.dname FROM emp e, dept d WHERE e.deptno = d.deptno;
SELECT e.ename || q[department's name is]|| d.dname FROM emp e, dept d WHERE e.deptno = d.deptno;
SELECT e.ename || q'(department's name is)'|| d.dname FROM emp e, dept d WHERE e.deptno = d.deptno;
答案:A
24. 以下哪个 SELECT 语句用于选择 EMP 表的所有列?
SELECT ALL FROM emp
SELECT # FROM emp
SELECT * FROM emp
SELECT empno,ename,deptno,sal,job,mgr,hiredate FROM emp
答案:C。字符 '*' 用于选择表的所有列。
25. 以下哪个 SQL 查询将显示员工姓名、部门和年薪?
SELECT ename, deptno, sal FROM emp;
SELECT ename, deptno, sal + comm FROM emp;
SELECT ename, deptno, (sal * 12) Annual_Sal FROM emp;
- 无法查询年薪,因为表中不存在该列
答案:C。在 SELECT 语句中使用数字表达式执行基本的算术运算。