无涯教程-SQL Interview Questions函数

82 阅读9分钟

亲爱的读者,这些 SQL面试问题是专门设计的,目的是让您熟悉在采访中可能会遇到的关于 SQL 主题的问题的性质。根据我的经验,优秀的面试官几乎不打算在面试过程中提出任何特定的问题,通常,问题从该主题的一些基本概念开始,然后根据进一步的讨论和您的回答继续进行:

What is the difference between SQL and MySQL or SQL Server?

SQL或结构化查询语言是一种语言;与关系数据库通信的语言,从而提供了操作和创建数据库的方式。 MySQL和Microsoft的SQL Server都是关系数据库管理系统,它们使用SQL作为它们的标准关系数据库语言。

What is the difference between SQL and PL/SQL?

PL/SQL是SQL的一种方言,它添加了SQL编程语言的过程功能。它是由Oracle Corporation在90年代初开发的,目的是增强SQL的功能。

What are various DDL commands in SQL? Give brief description of their purposes.

以下是SQL中的各种DDL或数据定义语言命令-

  • 创建-会创建一个新表,一个表视图或数据库中的其他对象。

  • ALTER-修改现有的数据库对象,例如表。

  • DROP-它将删除整个表,数据库中的表视图或其他对象。

What are various DML commands in SQL? Give brief description of their purposes.

以下是SQL中的各种DML或数据处理语言命令-

  • SELECT-从一个或多个表中检索某些记录。

  • INSERT-它创建一条记录。

  • UPDATE-它修改记录。

  • 删除-删除记录。

What are various DCL commands in SQL? Give brief description of their purposes.

以下是SQL中的各种DCL或数据控制语言命令-

  • GRANT-它向用户授予特权。

  • 撤销-会收回用户授予的特权。

Can you sort a column using a column alias?

是。可以在ORDER BY子句中使用列别名。

Is a NULL value same as zero or a blank space? If not then what is the difference?

NULL值不等于零或空格。 NULL值是"不可用,未分配,未知或不适用"的值。零是数字,空格是字符。

Say True or False. Give explanation if False.

如果参与算术表达式的列值是NULL,则获得的输出将是NULLM。

True.

If a table contains duplicate rows, does a query result display the duplicate values by default? How can you eliminate duplicate rows from a query result?

查询输出显示所有行,包括重复的行。要消除输出中的重复行,请在SELECT子句中使用DISTINCT关键字。

What is the purpose of the condition operators BETWEEN and IN?

BETWEEN运算符根据一系列值显示行。 IN条件运算符检查包含在一组特定值中的值。

How do you search for a value in a database table when you don’t have the exact value to search for?

在这种情况下,LIKE条件运算符用于选择与字符模式匹配的行。这也称为"通配符"搜索。

What is the default ordering of data using the ORDER BY clause? How could it be changed?

默认排序顺序为升序。可以使用DESC关键字在ORDER BY子句中的列名之后更改它。

What are the specific uses of SQL functions?

SQL函数具有以下用途-

  • 对数据进行计算

  • 修改单个数据项

  • 操纵输出

  • 格式化日期和数字

  • 转换数据类型

What are the case manipulation functions of SQL?

下,上,INITCAP

Which function returns the remainder in a division operation?

MOD函数以除法运算返回余数。

What is the purpose of the NVL function?

NVL函数将NULL值转换为实际值。

What is the difference between the NVL and the NVL2 functions?

如果exp1包含NULL,则NVL(exp1,exp2)函数会将源表达式(或值)exp1转换为目标表达式(或值)exp2。返回值具有与exp1相同的数据类型。

NVL2(exp1,exp2,exp3)函数检查第一个表达式exp1,如果不为null,则返回第二个表达式exp2。如果第一个表达式exp1为null,则返回第三个表达式exp3。

What is the use of the NULLIF function?

NULLIF函数比较两个表达式。如果它们相等,则函数返回null。如果它们不相等,则返回第一个表达式。

Discuss the syntax and use of the COALESCE function?

COALESCE函数的表达式为COALESCE(exp1,exp2,…。expn)

它返回参数列表中给定的第一个非空表达式。

Which expressions or functions allow you to implement conditional processing in a SQL statement?

有两种方法可以在SQL语句中实现条件处理或IF-THEN-ELSE逻辑。

  • 使用CASE表达式

  • 使用DECODE函数

You want to display a result query from joining two tables with 20 and 10 rows respectively. Erroneously you forget to write the WHERE clause. What would be the result?

输出将是两个具有20 x 10 = 200行的表的笛卡尔积。

What is the difference between cross joins and natural joins?

交叉联接产生两个表的叉积或笛卡尔积。自然联接基于两个表中具有相同名称和数据类型的所有列。

What is the purpose of the group functions in SQL? Give some examples of group functions.

SQL中的组函数处理一组行,并且每个组返回一个输出。组函数的Example是AVG,COUNT,MAX,MIN,STDDEV,SUM,VARIANCE。

Say True or False. Give explanation if False.

默认情况下,组函数仅考虑集合中的不同值。

默认情况下,组函数会考虑所有值,包括重复值。

Say True or False. Give explanation if False.

DISTINCT关键字允许函数仅考虑非重复值。

True.

Say True or False. Give explanation if False.

所有组函数都将忽略空值。

True.

Say True or False. Give explanation if False.

COUNT(*)返回表中的列数。

假。 COUNT(*)返回表中的行数。

What’s wrong in the following query?
SELECT subject_code, count(name)  
FROM students;

它没有GROUP BY子句。 subject_code应该在GROUP BY子句中。

   SELECT subject_code, count(name)
   FROM students
   GROUP BY subject_code;
What’s wrong in the following query?
   SELECT subject_code, AVG (marks)
   FROM students
   WHERE AVG(marks) > 75
   GROUP BY subject_code;

WHERE子句不能用于限制组。应该使用HAVING子句。

   SELECT subject_code, AVG (marks)
   FROM students
   HAVING AVG(marks) > 75
   GROUP BY subject_code;
Say True or False. Give explanation if False.

组函数不能嵌套。

假。组函数可以嵌套两个深度。

What do you understand by a subquery? When is it used?

子查询是嵌入另一个SELECT语句的子句中的SELECT语句。当内部查询或子查询返回由外部查询使用的值时,将使用它。在选择表中某些行的条件取决于该表中包含的某些数据时,这非常有用。

Say True or False. Give explanation if False.

单行子查询仅从外部SELECT语句返回一行

假。单行子查询仅从内部SELECT语句返回一行。

Say True or False. Give explanation if False.

多行子查询从内部SELECT语句返回多个行。

True.

Say True or False. Give explanation if False.

多个列子查询从内部SELECT语句返回多个列。

True.

What’s wrong in the following query?
   SELECT student_code, name
   FROM students
   WHERE marks = 
               (SELECT MAX(marks)
                  FROM students
                  GROUP BY subject_code);

这里,单行运算符=与多行子查询一起使用。

What are the various multiple row comparison operators in SQL?

在,任何,所有。

What is the pupose of DML statements in SQL?

DML语句用于向表中添加新行,更新或修改现有行中的数据,或从表中删除现有行。

Which statement is used to add a new row in a database table?

INSERT INTO语句。

Say True or False. Give explanation if False.

在表中插入新行时,必须按列的默认顺序列出值。

True.

How do you insert null values in a column while inserting data?

可以通过以下方式之一将Null值插入表中-

  • 从列列表中省略该列。
  • 通过在VALUES子句中指定NULL关键字来明确表示。
Say True or False. Give explanation if False.

INSERT语句不允许将行从一个表复制到另一个表。

假。 INSERT语句允许向表中添加行,从而复制现有表中的行。

How do you copy rows from one table to another?

INSERT语句可用于通过从另一个表复制来向表中添加行。在这种情况下,将使用子查询代替VALUES子句。

What happens if you omit the WHERE clause in the UPDATE statement?

表中的所有行均已修改。

Can you modify the rows in a table based on values from another table? Explain.

是。通过在UPDATE语句中使用子查询,可以基于另一个表中的值更新表中的行。

Say True or False. Give explanation if False.

DELETE语句用于从数据库中删除表。

假。 DELETE语句用于从表中删除现有行。

What happens if you omit the WHERE clause in a delete statement?

表中的所有行均被删除。

Can you remove rows from a table based on values from another table? Explain.

是的,可以使用子查询根据另一个表中的值从表中删除行。

Say True or False. Give explanation if False.

尝试删除带有附加到完整性约束的值的记录,将返回错误。

True.

Say True or False. Give explanation if False.

您可以在INSERT语句中使用子查询。

True.

What is the purpose of the MERGE statement in SQL?

MERGE语句允许条件更新或将数据插入数据库表。如果行存在,则执行UPDATE;如果行不存在,则执行INSERT。

Say True or False. Give explanation if False.

将自动提交DDL语句或DCL语句。

True.

What is the difference between VARCHAR2 AND CHAR datatypes?

VARCHAR2表示可变长度的字符数据,而CHAR表示固定长度的字符数据。

Say True or False. Give explanation if False.

可以回滚DROP TABLE语句。

假。 DROP TABLE语句无法回滚。

Which SQL statement is used to add, modify or drop columns in a database table?

ALTER TABLE语句。

What is a view? Why should you use a view?

视图是基于表或其他视图的逻辑快照。它用于-

  • 限制对数据的访问;
  • 使复杂的查询变得简单;
  • 确保数据独立性;
  • 提供相同数据的不同视图。
Say True or False. Give explanation if False.

视图没有自己的数据。

True.

下一步是什么 ?

此外,您可以浏览过去完成的与该主题相关的作业,并确保您能够自信地对它们发表讲话。如果您是新手,那么面试官不会期望您会回答非常复杂的问题,而是必须使您的基本概念非常扎实。

第二,如果您不能回答几个问题,那实际上并不重要,但是无论您回答了什么,您都必须自信地回答,这很重要。因此,在面试中要感到自信。我们在learnfk上祝您好运,有一位优秀的面试官,并祝您未来事业一切顺利。欢呼声:-)

参考链接

www.learnfk.com/sql/sql-int…