九游娱乐 - 最全游戏有限公司

九游娱乐 - 最全游戏有限公司6. 请给出一些常见 SQL 呐喊-九游娱乐 - 最全游戏有限公司

发布日期:2024-07-11 06:54    点击次数:185

本文先容的口试题包括以下内容九游娱乐 - 最全游戏有限公司。

SQL 基础学问,包括 SQL 专揽门径、SQL 语句、SQL 呐喊和 SQL 查询的类型等。SQL 中的函数。包括团员函数和标量函数,以及 SQL 内置函数和用户界说函数。高档呐喊。包括 Join、主键和外键、索引和关联等主题。数据库联想。包括范式、反范式,以及 DELETE、TRUNCATE、DROP 等 SQL 语句。高档查询。包括子查询(嵌套子查询和干系子查询)等。

在测验你的 SQL 时候前,口试官可能会问一些相关 SQL 的通用问题。举例:

你对哪些 SQL 方言比拟熟识?你怎样评价我方对 SQL 的熟练进程?你从事 SQL 的职责多深入?

诚然在你的简历中会说起这些信息,但你也要作念好先容这些信息的准备。天然,这类问题并莫得所谓的正确谜底,但切忌在回当令胡编乱造。

就算你的 SQL 职责警戒有限,也毋庸要驰念,口试官看简历的时候就知谈这一丝了。但既然他们还有兴致口试你,就阐明他们以为你有与他们公司需求相契合的点。

另外,哪怕你只使用过一种 SQL 方言,也不关键。记取,各个 SQL 方言的一样度高出高,只熟识其中一种亦然不错的。

40 个低级 SQL 口试题

1.什么是SQL?

SQL 的全称是 Structured Query Language,即结构化查询言语,它是用来与关系型数据库惩办系统(RDBMS)交互的言语,包括从表中获得、更新、插入和删除数据,也即是咱们常说的增点窜查。

2. 什么是 SQL 方言?

SQL 包括多种免费或付费的版块,这些不同的版块都被称为 SQL 方言。多样 SQL 方言的语法高出一样,仅仅功能有些永逝。如 Microsoft SQL Server、PostgreSQL、MySQL、SQLite、T-SQL、Oracle 等。

3. SQL的主要专揽有哪些?

使用 SQL,不错竣事以下功能。

创建、删除和更新数据库中的表。看望、操作和修改表中的数据。从一个或多个表中索乞降回首的信息。在表中添加或删除某些行或列。

总之,SQL 允许以多种方法查询数据库,还不错纰漏地与 Python 或 Java等编程言语集成。

4.什么是 SQL 语句?举一些例子。

SQL语句也叫 SQL 呐喊,由 SQL 引擎讲明并推论。SQL 语句包括 SELECT、CREATE、DELETE、DROP 和 REVOKE等。

5. 有哪些类型的 SQL 呐喊(或 SQL 子集)?

数据界说言语 (DDL) – 界说和修改数据库的结构。数据操作言语 (DML) – 看望、操作和修改数据库中的数据。数据限度言语 (DCL) – 限度用户对数据库中数据的看望,并授予或取销特定用户或一组用户的权限。事务限度言语 (TCL) – 限度数据库中的事务。数据查询言语 (DQL) – 对数据库中的数据推论查询以从中检索必要的信息。

6. 请给出一些常见 SQL 呐喊。

DDL:CREATE、ALTER、TABLE、DROP、TRUNCATE、ADD COLUMNDML:UPDATE、DELETE、INSERTDCL:GRANT、REVOKETCL:COMMIT、SET TRANSACTION、ROLLBACK、SAVEPOINTDQL:SELECT

7.什么是数据库?

数据库是一种结构化的存储空间,数据保存在表中,可供索求、操作和汇总和据信息。

8. 什么是 DBMS?你知谈哪些类型的 DBMS?

DBMS 是数据库惩办系统,不错对数据推论多样操作,如看望、更新、整理、插入和删除数据。

DBMS 有多种类型,如关系型、眉目型、麇集型、图型和面向对象型。这些类型的分歧基于数据在系统中的组织、结构与存储方法。

9.什么是关系型数据库惩办系统?举一些 RDBMS 的例子。

RDBMS,即关系型数据库惩办系统。它是最常见的数据库惩办系统,用于处理存储表中的数据。SQL 是有益用于与关系型数据库交互的言语。主流的关系型数据库包括 MySQL、PostgreSQL、Oracle、MariaDB 等。

10. SQL中的表和字段是什么?

表所以表格神气存储的有组织的数据。字段是列的又名。

11. 什么是 SQL 查询,你知谈哪些类型的查询?

SQL 查询是用于查询或修改数据库中数据的 SQL 代码。

SQL 查询有两种:选用查询和操作查询。第一种用于检索数据(包括限度、分组、排序数据,以及从多个表中索求数据等)。第二种 SQL 查询用于创建、添加、删除、更新、重定名数据等。

12.什么是子查询?

子查询也称为里面查询,是在一个查询或外部查询中的查询。子查询可能出咫尺 SELECT、FROM、WHERE 和 UPDATE 等子句中。

子查询中还不错包含子查询。最里面的子查询最初初始,并将收尾传递给它的外部查询。

13.你知谈哪些类型的 SQL 子查询?

单行子查询 – 最多复返一瞥。多行子查询 – 复返至少两行。多列子查询 – 复返至少两列。干系子查询 - 与外部查询的信息干系的子查询。嵌套子查询 – 子查询嵌套在另一个子查询中。14.什么是敛迹,为什么使用敛迹?

界说表中列的数据类型的条目。敛迹可确保表中数据的完满性,并盘曲不需要的操作。

15.你知谈哪些 SQL 敛迹?

DEFAULT – 为列提供默许值。UNIQUE – 只允许独一值。NOT NULL – 只允许非空值。PRIMARY KEY – 必须是独一值,且必须瑕瑜空值(NOT NULL和UNIQUE)。FOREIGN KEY – 竣事两个或多个表之间分享的键。16. 什么是 join?

用于从多个表中索求数据纪录的语句。SQL 表不错凭证表之间的关系进行贯串。

17. join 的类型都有哪些?

(INNER) JOIN – 只复返简洁两个(或所有)表中界说的 join 条目的纪录。这是默许的 SQL 贯串。LEFT (OUTER) JOIN – 复返左表中的所有纪录及右表中简洁界说的 join 条目的纪录。RIGHT (OUTER) JOIN – 复返右表中的所有纪录及左表中简洁界说的 join 条目的纪录。FULL (OUTER) JOIN – 复返两个(或所有)表中的所有纪录。它是左贯串和右贯串的组合。

40 个中级 SQL 口试题

41. SQL 中什么是函数,为什么要使用函数?

函数是推论特定任务的一组 SQL 语句。函数罗致输入参数,对它们推论商酌或其他操作,然后复返收尾。函数有助于训诫代码可读性,并幸免重迭调换的代码片断。

42.你知谈哪些类型的 SQL 函数?

团员函数 – 针对处理分组表中列的纪录,并复返单个值(频频按组)。

标量函数 – 处理每个单独的值,并复返单个值。

另一方面,SQL 函数不错是内置的,或用户界说的(由用户凭证其特定需求创建)。

43.你知谈哪些团员函数?

AVG() – 复返平均值。

SUM() – 复返值的和。

MIN() – 复返最小值。

MAX() – 复返最大值。

COUNT() – 复返行数,包括具有空值的行数。

FIRST() – 复返列中的第一个值。

LAST() – 复返列中的临了一个值。

44.你知谈哪些标量函数?

LEN()(或LENGTH()) – 复返字符串的长度,包括空格。

UCASE()(或 UPPER()) – 复返调节为大写的字符串。

LCASE()(或 LOWER()) – 复返调节为小写的字符串。

INITCAP() – 复返调节为首字母大写的字符串。

MID()(或 SUBSTR()) – 从字符串中索求子字符串。

ROUND() – 复返四舍五入到指定少许位数的数值。

NOW() – 复返现时日历和时刻。

45. 什么是大小写处理函数?举一些例子。

大小写处理函数是文本函数,用于更始文本数据的大小写,不错将数据调节为大写、小写或首字母大写。

UCASE()(或 UPPER()) – 复返调节为大写的字符串。

LCASE()(或 LOWER()) – 复返调节为小写的字符串。

INITCAP()– 复返调节为首字母大写的字符串。

46. 什么是字符操作函数?举一些例子。

字符操作函数代表字符函数的子集,它们用于修改文本数据。

CONCAT() – 贯串多个字符串值,将后一个字符串附加到前一个字符串的末尾。

SUBSTR() – 复返简洁所提供的开始和至极的字符串的一部分。

LENGTH()(或 LEN()) – 复返字符串的长度,包括空格。

REPLACE() – 用一个子字符串替换提供的字符串中所有出现的已界说子字符串。

INSTR() – 复返给定字符串中界说的子字符串的数字位置。

LPAD()/RPAD() – 复返右对皆/左对皆值的左侧/右侧字符的填充。

TRIM() – 从提供的字符串的左侧、右侧或两头删除所有界说的字符及空格。

47. 局部变量和全局变量有什么区别?

局部变量只可在声明该变量的函数里面看望。

在函数外部声明的全局变量存储在内存结构中,不错在通盘门径中使用。

48. ORDER BY 语句的默许排序是什么??怎样更始?

ORDER BY 语句的默许排序是升序。要改为降序,需要添加 DESC 要道字,示举例下。

1SELECT * FROM table_name

2ORDER BY col_1 DESC;

49. 你知谈哪些集结运算符?

UNION – 复返多个查询语句的收尾合并后的独一纪录集(不包括重迭项)。

UNION ALL – 复返多个查询语句的收尾合并后的纪录集(包括重迭项)。

INTERSECT – 复返多个查询语句的收尾交加的纪录集。

EXCEPT(MySQL 和 Oracle 中为 MINUS) – 仅复返第一个语句查询的收尾,不复返第二个查询的收尾。

50. 查询中使用什么运算符进行模式匹配?

LIKE 运算符与 % 和 _ 通配符兼并使用。通配符 % 代表猖狂数目的字符,包括 0 个字符;_ 严格来说是一个字符。

51. 主键和独一键有什么区别?

两种类型的键都确保列中的值独一,但主键独一标识表中的每个纪录,独一键则留意该列中出现重迭项。

52.什么是复合主键?

表的主键,基于多个列。

53. SELECT 查询中常见语句的出现规定是什么?

SELECT – FROM – JOIN – ON – WHERE – GROUP BY – HAVING – ORDER BY - LIMIT

54.讲明器推论 SELECT 查询语句的规定是什么?

FROM – JOIN – ON – WHERE – GROUP BY – HAVING – SELECT – ORDER BY – LIMIT

55.什么是视图,为什么要使用视图?

视图一种虚构表,包含从一个或多个数据库表(或其他视图)中索求的数据。

视图占用的空间很少,还不错简化复杂的查询,限度对数据的看望以确保安全,竣事数据独处性,并汇总多个表中的数据。

56. 不错基于一个视图再创建一个视图吗?

不错。这也叫嵌套视图。但要幸免嵌套多个视图,因为代码会变得难以见地,调试也愈加困难。

57. 原表删除后还不错使用视图吗?

不不错。删除基表后,任何基于该表的视图都将失效。使用这么的视图时,将收到差错音书。

58. 你知谈哪些类型的 SQL 关系?

一双一 — 一个表中的每笔纪录仅对应于另一个表中的一笔纪录。

一双多 — 一个表中的每笔纪录对应另一个表中的多笔纪录。

多对多 — 两个表中的每笔纪录都对应于另一个表中的多笔纪录。

59. BOOLEAN 数据字段的值有哪些?

在 PostgreSQL 中,BOOLEAN 类型的值包括 TRUE、FALSE 和 NULL。在其他 SQL 方言中,如 SQL Server,BIT 类型用于将布尔值存储为整数 1(true)或 0(false)。

60. SQL 中的范式(normalization )是什么,为什么要使用范式?

范式是数据库的联想进程,旨在减少数据冗余、训诫数据一致性和完满性,让查询效果更高,也更无邪,常用的范式有第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。

61. SQL 中的非范式(denormalization )是什么,为什么要使用非范式?

非范式是与范式相背的进程:它引入数据冗余,并组合来自多个表的数据。在读操作比写操作更进击的情况下,非范式不错优化数据库基础举止的性能,有助于幸免复杂的贯串,并减少查询初始的时刻。

62. 重定名列与列的笔名有什么区别?

重定名列意味着永久更始其在原始表中的内容称呼。

为列指定笔名意味着在推论 SQL 查询时为其指定一个临时称呼,使代码更易读,更大略。

63. 嵌套子查询和干系子查询(correlated subquery)有什么区别?

干系子查询是嵌套在外部查询中的里面查询,该查询援用外部查询中的值来推论,这意味着干系子查询依赖于其外部查询。相背,非干系子查询不依赖于外部查询的数据,而且不错独处于外部查询初始。

64. 团员索引和非团员索引的区别是什么?

团员索引界说表中纪录的物理规定,并凭证键值推论数据搜索,而非团员索引的纪录规定与磁盘上内容数据的物理规定不匹配。一张表只可有一个团员索引,但不错有多个非团员索引。

65. CASE() 函数是什么?

SQL 中 if-then-else 逻辑的竣事方法。CASE() 函数按规定检查 WHEN 子句中的条目,在简洁第一个条目时复返 THEN 子句中的值。要是莫得简洁任何条目,则该函数将复返 ELSE 子句中的值(要是已提供),不然复返 NULL。

1 CASE

2 WHEN condition_1 THEN value_1

3 WHEN condition_2 THEN value_2

4 WHEN condition_3 THEN value_3

5 ...

6 ELSE value

7 END;

66. DELETE 和 TRUNCATE 的区别是什么?

DELETE 凭证 WHERE 子句中的条目从表中删除一瞥或多行纪录。

TRUNCATE 是用于删除表中的所有行,但包含外键的表不成使用 TRUNCATE 语句。

DELETE 的速率比 TRUNCATE 慢。

67. DROP 和 TRUNCATE 的区别是什么?

DROP 从数据库中彻底删除表,包括表结构、敛迹条目、多表关系及看望权限。

TRUNCATE 删除表中的所有行的数据,但不波及表的结构和敛迹条目。

DROP 的速率比 TRUNCATE 慢。

两者都是不可逆的。

68. HAVING 和 WHERE 语句有什么区别?

HAVING 对分组后的数据进行团员处理。

WHERE 则核查每一瞥的数据。

要是两个语句都出咫尺查询中,优先级为 WHERE – GROUP BY – HAVING。

SQL 引擎按此规定进行阐明。

69. 怎样向表中添加纪录?

INSERT INTO 与 VALUES 兼并使用。

1 INSERT INTO table_name

2 VALUES (value_1, value_2, ...);

70.怎样删除表中的纪录?

使用 DELETE 语句删除纪录,不错搭配 WHERE 沿途使用。

1 DELETE FROM table_name

2 WHERE condition;

不错删除妥贴条目的多笔纪录。

71.怎样向表格添加列?

ALTER TABLE 与 ADD 兼并在沿途使用。

1 ALTER TABLE table_name

2 ADD column_name datatype;

72. 怎样重定名表的列?

ALTER TABLE 与 RENAME COLUMN ... TO ... 沿途使用,示举例下。

1 ALTER TABLE table_name

2 RENAME COLUMN old_column_name TO new_column_name;

73. 怎样从表中删除列?

ALTER TABLE 与 DROP COLUMN沿途使用,示举例下。

1 ALTER TABLE table_name

2 DROP COLUMN column_name;

34. 怎样选用表中的所有偶数或奇数的纪录?

通过商酌除以 2 的尾数,竣事这个操作。

在 PostgreSQL 或 My SQL 中,不错使用 MOD 函数;在 SQL Server 和 SQLite 中使用 % 运算符。

使用 MOD 选用所有偶数纪录的示例代码如下。

1SELECT * FROM table_name

2WHERE MOD(ID_column, 2) = 0;

使用 % 选用所有偶数纪录的示例代码如下。

1SELECT * FROM table_name

2WHERE ID_column % 2 = 0;

选用所有奇数纪录时,其他的内容不变,用 <> 运算符替代 = 即可。

75、查询时怎样留意重迭纪录?

在 SELECT 语句中使用 DISTINCT,或为该表创建独一键。

76. 如安在表中插入多行数据?

使用 INSERT INTO 与 VALUES,示举例下。

1INSERT INTO table_name

2VALUES (value_1, value_2, ...),

3 (value_3, value_4, ...),

4 (value_5, value_6, ...),

5 ...;

77. 怎样找到表中某一列的第 n 个最高值?

使用 OFFSET 子句。查找某列中的第 6 个最高值的示举例下。

1SELECT * FROM table_name

2ORDER BY column_name DESC

3LIMIT 1

4OFFSET 5;

78. 怎样查找表格文本列中以某个字母来源的值?

使用 LIKE 运算符和 % 与 _ 通配符。查找表中所有以 A 来源的姓的示举例下。

1SELECT * FROM table_name

2WHERE surname LIKE 'A_';

假定姓里必须包含至少两个字母。要是莫得这个假定章代表姓不错仅仅 A,示举例下。

1SELECT * FROM table_name

2WHERE surname LIKE 'A%';

79. 怎样查找表中临了一个 id?

使用 MAX() 函数。在大部分 SQL 方言中的示举例下。

1SELECT id

2FROM table_name

3ORDER BY id DESC

4LIMIT 1;

在 SQL Server 中的示举例下。

1SELECT TOP 1 id

2FROM table_name

3ORDER BY id DESC

80. 怎样从表中立时选用行?

在 ORDER BY、LIMIT 中使用 RAND() 函数。在 PostgreSQL 中,使用 RANDOM()。

从 MySQL 的表中复返 5 个立时行的示举例下。

1SELECT * FROM table_name

2ORDER BY RAND()

3LIMIT 5;九游娱乐 - 最全游戏有限公司