SQL SELECT语句问题

1.确定SELECT语句的功能.

  1. 投影

  2. 选择

  3. 数据控制

  4. 交易

答案:A,B. SELECT语句可用于选择,投影和连接.

2.确定给定查询中演示的SELECT语句的功能.

 SELECT e.ename,d.dname 
 FROM emp e, dept d 
 WHERE e.deptno = d.deptno 
 AND e.sal> 1000;

  1. 选择

  2. 过滤

  3. 加入

  4. 投影

答案:A,C,D.投影仅包括查询中所需的列,而选择仅选择所需的数据.连接意味着通过连接列将两个表组合在一起.

3.以下哪个子句用于抑制SELECT语句中的重复项?

  1. INTERSECT

  2. DUPLICATE

  3. DISTINCT

  4. UNIQUE

答案:C,D.可以使用SELECT语句中的DISTINCT或UNIQUE限制重复数据.

4.选择正确指定编写SQL语句的规则的语句

  1. SQL语句区分大小写

  2. 关键字可以缩写为构建标准

  3. SQL语句不区分大小写

  4. 子句必须放在一起

答案:C. SQL语句不区分大小写.

5.确定以下查询的输出 -  

 SELECT'5 + 7'
 FROM dual;

  1. 12

  2. 5 + 7

  3. 5

  4. 7

答案:B. Oracle将双引号内的值视为字符串表达式.

6.编写查询以显示来自EMP表的员工详细信息(姓名,部门,薪资和工作).

  1.  SELECT ename,deptno,sal,job FROM emp;

  2.  SELECT * FROM emp;

  3.  SELECT DISTINCT ename,deptno,sal,job FROM emp;

  4.  SELECT ename,deptno,sal FROM emp;

答案A. 从表中选择所需的每个用逗号分隔.

7.增加1000后,以下哪些查询显示员工姓名和新工资?

  1.  SELECT ename,sal FROM emp;

  2.  SELECT ename,sal = sal + 1000 FROM emp;

  3.  SELECT ename,sal + 1000 FROM emp;

  4.  SELECT ename,1000 FROM emp;

答案:C.可以使用SELECT语句中的列进行基本算术计算.

8.确定以下查询的输出

 SELECT 36/2-5 * 10 FROM dual;

  1. 130

  2. -32

  3. -120

  4. 175

答案:B.在加法和减法之前进行乘法和除法.

9.确定以下查询的输出

 SELECT(100-25)/15 *(20-3)FROM dual;

  1. 0.294

  2. -85

  3. 63.67

  4. 85

答案:D.括号内的表达式被执行在表达式中的除法和乘法之前.

10.选择正确定义NULL值的语句.

  1. NULL是一个特殊值,零字节

  2. NULL没有值或未知值

  3. NULL由空格表示

  4. NULL不是与零相同

答案:B,D. NULL为NO VALUE但不与零相同,也不与空白或空格字符相同.

11.确定以下查询的输出

 SELECT sal + NULL 
 FROM emp 
 WHERE empno = 7369;

  1. sal + NULL

  2. NULL

  3. 0

  4. 1250

答案:B.任何算术运算NULL结果为NULL.

12.以下哪个语句正确定义列别名?

  1. 列别名重命名列标题

  2. 列别名是表中的备用列

  3. 可以在表定义期间指定列别名

  4. 列别名紧跟在SELECT语句中的列或表达式之后

答案:A,D.列别名可以是用于在SELECT语句中命名表达式.

13.在下面的SQL查询中为包含salary的表达式指定列别名NEWSAL

 SELECT ename,job,sal + 100 FROM emp;

  1. (sal + 100)AS NEWSAL

  2. (sal + 100 )NEWSAL

  3. (sal + 100)IS NEWSAL

  4. sal + 100 IS NEWSAL

答案:A,B.使用"AS"表示列表达式的新别名.


14.在下面的SQL查询中为包含salary的表达式指定列别名"New Salary"

 SELECT ename,job,sal + 100 FROM emp;

  1. (sal + 100)AS New Salary

  2. (sal + 100)"新工资"

  3. (sal + 100)IS新工资

  4. sal + 100 as"New Salary"

答案:B,D.必须在双引号内引用包含空格和特殊字符的列别名.

15.哪个命令用于显示表的结构?

  1. LIST

  2. SHOW

  3. DESCRIBE

  4. STRUCTURE

答案:C. DESCRIBE用于显示表结构.

16.在SQL * Plus中执行以下语句时预测输出?

 DESC emp

  1. 引发错误"SP2-0042:未知命令"desc emp" - 其余行被忽略."

  2. 列出EMP表的列

  3. 列出EMP表列,它们的数据类型和无效

  4. 列出EMP表的列及其数据类型

答案:C. DESCRIBE用于显示表结构以及表列,它们的数据类型和无效

17.以下哪些关于DESCRIBE命令的陈述是正确的?

  1. 它可以在SQL中使用*仅限

  2. 它既可以在SQL * Plus中使用,也可以在SQL Developer中使用

  3. 它不适用于对象表

  4. 它不适用于SYS拥有的表

答案:B.

18.下面哪个以下的字母数字字符用于表示SQL中的连接运算符?

  1. +

  2. ||

  3. -

  4. ::

答案:B.在SQL中,连接运算符由两个竖线(||)表示.

19.关于SQL中串联运算符的使用,下面哪些语句是正确的?

  1. 它创建表中的虚拟列

  2. 它生成一个字符表达式作为一个或多个字符串连接的结果

  3. 它在两个字符之间创建一个链接列

  4. 它可用于将日期表达式与其他列连接

答案:B,D .连接运算符将两个值连接为表达式.

20.预测以下查询的输出

 SELECT ename || NULL 
 FROM emp 
 WHERE empno = 7369

  1. SMITH

  2. SMITH NULL

  3. SMITHNULL

  4. ORA-00904:"NULL":标识符无效

答案:A.将NULL结果转换为相同的值.

21.预测以下查询的输出

 SELECT 50 || 0001 
 FROM dual

  1. 500001

  2. 51

  3. 501

  4. 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:引用的字符串未正确终止.以下哪个解决方案可以永久解决问题?

  1. 为文字使用双引号字符串

  2. 使用[q]运算符来引用文字字符串并选择选择的分隔符

  3. 从中删除单引号(撇号)文字字符串

  4. 使用另一个分隔符绕过文字字符串中的单引号撇号

答案:B. [q]运算符用于引用带引号的字符文字.

23.以下哪个SELECT语句显示[q]运算符的正确用法?

  1. SELECT e.ename || q'[department's name is]'|| d.dname
       FROM emp e, dept d
       WHERE e.deptno = d.deptno;

  2. SELECT e.ename || q['department's name is']|| d.dname
       FROM emp e, dept d
       WHERE e.deptno = d.deptno;

  3. SELECT e.ename || q[department's name is]|| d.dname
       FROM emp e, dept d
       WHERE e.deptno = d.deptno;

  4. SELECT e.ename || q'(department's name is)'|| d.dname
       FROM emp e, dept d
       WHERE e.deptno = d.deptno;

答案:A

24.以下哪个SELECT语句用于选择EMP表的所有列?

  1.  SELECT ALL FROM emp

  2.  SELECT#FROM emp

  3.  SELECT * FROM emp

  4.  SELECT empno,ename,deptno,sal,job,mgr,hiredate FROM emp

答案:C.字符'*'用于选择表的所有列.

25.以下哪个SQL查询将显示员工姓名,部门和年薪?

  1.  SELECT ename,deptno,sal FROM emp;

  2.  SELECT ename,deptno,sal + comm FROM emp;

  3.  SELECT ename,deptno,(sal * 12)Annual_Sal FROM emp;

  4. 由于表中不存在列,因此无法查询年薪

答案:C.在SELECT语句中使用数字表达式来执行基本的算术运算.