SQL SELECT 语句问题
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 语句中的重复项?
- 相交
- 复制
- 清楚的
- 独特
答案: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;
- 萨尔 + 空
- 无效的
- 0
- 1250
答案:B.任何带有 NULL 的算术运算都会导致 NULL。
12. 以下哪个语句正确定义了列别名?
- 列别名重命名列标题
- 列别名是表中的备用列
- 可以在表定义期间指定列别名
- 列别名紧跟在 SELECT 语句中的列或表达式之后
答案:A、D。列别名可用于命名 SELECT 语句中的表达式。
13.在下面的SQL查询中为包含salary的表达式指定列别名NEWSAL
SELECT ename, job, sal + 100 FROM emp;
- (sal + 100) 作为新闻
- (sal + 100) 新闻
- (sal + 100) 是新闻
- sal + 100 是新闻
答案:A、B。使用“AS”表示列表达式的新别名。
14.在下面的SQL查询中为包含salary的表达式指定列别名“New Salary”
SELECT ename, job, sal + 100 FROM emp;
- (sal + 100) AS 新薪水
- (sal + 100) “新薪水”
- (sal + 100) 是新薪水
- sal + 100 作为“新工资”
答案:B、D。带有空格和特殊字符的列别名必须用双引号括起来。
15. 哪个命令用于显示表的结构?
- 列表
- 显示
- 描述
- 结构体
答案: C.DESCRIBE 用于显示表结构。
16. 预测在 SQL* Plus 中执行以下语句时的输出?
DESC emp
- 引发错误“SP2-0042:未知命令“desc emp”- 其余行被忽略。”
- 列出 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
- 史密斯
- 史密斯 NULL
- 史密斯空
- ORA-00904: “NULL”: 无效标识符
答案: 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:引用的字符串未正确终止。以下哪种解决方案可以永久解决问题?
- 对文字字符串使用双引号
- 使用 [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 语句中使用数字表达式执行基本的算术计算。