📜  SQL SELECT语句问题

📅  最后修改于: 2020-12-29 04:27:10             🧑  作者: Mango


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. 相交
  2. 重复
  3. 不同
  4. 独特

答案: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为空值,但既不等于零,也不等于空格或空格字符。

11.确定以下查询的输出

SELECT sal + NULL 
FROM emp
WHERE empno = 7369;
  1. sal + NULL
  2. 空值
  3. 0
  4. 1250

答案:B.任何带有NULL的算术运算都将导致NULL。

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

  1. 列别名重命名列标题
  2. 列别名是表中的备用列
  3. 可以在表定义期间指定列别名
  4. 列别名紧跟在SELECT语句中的列或表达式之后

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

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

SELECT ename, job, sal + 100 FROM emp;
  1. (sal + 100)作为新闻
  2. (sal + 100)新闻
  3. (sal + 100)是新闻
  4. sal + 100是新闻

答案:A,B。使用“ AS”表示列表达式的新别名。

14.在下面的SQL查询中为包含薪水的表达式指定列别名“ New Salary”

SELECT ename, job, sal + 100 FROM emp;
  1. (工资+ 100)AS新工资
  2. (工资+ 100)“新工资”
  3. (工资+ 100)是新工资
  4. 工资+ 100作为“新工资”

答案:B,D。带空格和特殊字符的列别名必须用双引号引起来。

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

  1. 清单
  2. 显示
  3. 描述
  4. 结构体

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

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

DESC emp
  1. 引发错误“ SP2-0042:未知命令“ desc emp”-其余行被忽略。”
  2. 列出EMP表的列
  3. 列出EMP表列,其数据类型和无效
  4. 列出EMP表的列及其数据类型

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

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

  1. 只能在SQL * Plus中使用
  2. 它可以在SQL * Plus和SQL Developer中使用
  3. 它不适用于对象表
  4. 它不适用于SYS拥有的表

答:B。

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

  1. +
  2. ||
  3. ::

答案:B。在SQL中,串联运算符由两个竖线(||)表示。

19.关于SQL中串联运算符的用法,以下哪条陈述是正确的?

  1. 它在表中创建一个虚拟列
  2. 它通过连接一个或多个字符串生成一个字符表达式
  3. 它在两个字符列之间创建一个链接
  4. 它可用于将日期表达式与其他列连接

答案:B,D。串联运算符将两个值连接为一个表达式。

20.预测以下查询的输出

SELECT ename || NULL
FROM emp
WHERE empno = 7369
  1. 史密斯
  2. 史密斯空
  3. 史密斯
  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]运算符者enquote字面量并选择所选择的定界符
  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语句中使用数字表达式执行基本的算术计算。