首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

2020年MySQL数据库面试题总结(50道题含答案解析)

如何在 Unix 和 MySQL 时间戳之间进行转换?...外连接  其结果集中不仅包含符合连接条件,而且还会包括表、右表或两个表中所有数据,这三种情况依次称之为连接,右外连接,和全外连接。...连接 也称连接表为主表,表中所有记录都会出现在结果集中,对于那些在右表中并没有匹配记录,仍然要显示,右边对应那些字段值以NULL 来填充。...右外连接,也称右连接,右表为主表,右表中所有记录都会出现在结果集中。连接和右连接可以互换,MySQL 目前还不支持全外连接。...视图是一种虚拟表,具有和物理表相同功能。可以对视图进行增,改,查,操作,视图通常是有一个表或者多个表或列子集。对视图修改不影响基本表。它使得我们获取数据更容易,相比多表查询。

3.9K20
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL 给你问懵了?50 道 MySQL 高频面试题详解来了

对于一些特殊数据类型,不宜建立索引,比如文本字段(text)等 37、解释 MySQL 外连接、内连接连接区别 先说什么是交叉连接: 交叉连接又叫笛卡尔积,它是指不使用任何条件,直接将一个表所有记录和另一个表中所有记录一一匹配...外连接 其结果集中不仅包含符合连接条件,而且还会包括表、右表或两个表中所有数据,这三种情况依次称之为连接,右外连接,和全外连接。...连接,也称连接表为主表,表中所有记录都会出现在结果集中,对于那些在右表中并没有匹配记录,仍然要显示,右边对应那些字段值以NULL 来填充。...右外连接,也称右连接,右表为主表,右表中所有记录都会出现在结果集中。连接和右连接可以互换,MySQL 目前还不支持全外连接。...视图是一种虚拟表,具有和物理表相同功能。可以对视图进行增,改,查,操作,视图通常是有一个表或者多个表或列子集。对视图修改不影响基本表。它使得我们获取数据更容易,相比多表查询。

2.6K11

MySQL经典52题

14.如何在Unix和Mysql时间戳之间进行转换?...每个MyISAM表格以三种格式存储在磁盘上:“.frm”文件 存储表定义数据文件具有“.MYD”(MYData)扩展名索引文件具有“.MYI”(MYIndex)扩展名19.Mysql如何优化DISTINCT...外连接 其结果集中不仅包含符合连接条件,而且还会包括表、右表或两个表中所有数据,这三种情况依次称之为连接,右外连接,和全外连接。...连接 也称连接表为主表,表中所有记录都会出现在结果集中,对于那些在右表中并没有匹配记录,仍然要显示,右边对应那些字段值以NULL来填充。...视图是一种虚拟表,具有和物理表相同功能。可以对视图进行增,改,查,操作,视图通常是有一个表或者多个表或列子集。对视图修改不影响基本表。它使得我们获取数据更容易,相比多表查询。

7710

2022 最新 MySQL 面试题

如何在 Unix 和 MySQL 时间戳之间进行转换?...外连接 其结果集中不仅包含符合连接条件 ,而且还会包括表 、右表或两个 表中 所有数据, 这三种情况依次称之为连接, 右外连接, 和全外连接。...连接, 也称连接表为主表, 表中所有记录都会出现在结果集中, 对于那些在右表中并没有匹配记录, 仍然要显示, 右边对应那些字段值以 NULL 来填充 。...右外连接 ,也称右连接,右表为主表 ,右表中所有记录都会出现 在结果集中。 连接和右连接可以互换, MySQL 目前还不支持全外连接。...答: 视图是一种虚拟表, 具有和物理表相同功能。 可以对视图进行增, 改, 查, 操作, 视图通常是有一个表或者多个表或列子集。 对视图修改不影 响基本表。

8510

mysql日常面试题总结

实践中如何优化MySQL 我当时是按以下四条依次回答,他们四条从效果上第一条影响最大,后面越来越小。...外连接 其结果集中不仅包含符合连接条件,而且还会包括表、右表或两个表中所有数据,这三种情况依次称之为连接,右外连接,和全外连接。...连接,也称连接表为主表,表中所有记录都会出现在结果集中,对于那些在右表中并没有匹配记录,仍然要显示,右边对应那些字段值以NULL来填充。...答:视图是一种虚拟表,具有和物理表相同功能。可以对视图进行增,改,查,操作,视图通常是有一个表或者多个表或列子集。对视图修改不影响基本表。它使得我们获取数据更容易,相比多表查询。...使用浏览统计软件,了解访问量,有针对性进行优化。 40、如何进行SQL优化?

61420

23篇大数据系列(三)sql基础知识(史上最全,建议收藏)

我们将会带大家学习下,如何把多张表连接起来,通过表交叉来获取更多信息,以及使用子查询实现在查询结果上继续分析。...差集,是求在一个集合中存在而在另一个集合中不存在元素集合。差集计算具有方向性,同样,MySQL也没有提供差集计算关键字,而是需要通过/右关联然后再过滤出未关联成功记录而得到。...因此,连接,可以用来计算集合差集,只需要过滤掉关联成功记录,留下表中原有的但未关联成功记录,就是我们要差集。...右外连接(RIGHT OUTER JOIN),连接含义相同,只是方向不同而已,通常也是省略OUTER不写。...连接和右外连接都有连接方向问题,表放位置对结果是有影响,尤其是多表关联时,一定要关注书写顺序,尽可能先做内连接再做/右外连接。 d.

2.7K60

DBA-MySql面试问题及答案-下

23.如何在Unix和Mysql时间戳之间进行转换?...每个MyISAM表格以三种格式存储在磁盘上: ·“.frm”文件存储表定义 ·数据文件具有“.MYD”(MYData)扩展名 索引文件具有“.MYI”(MYIndex)扩展名 28.Mysql如何优化DISTINCT...外连接 其结果集中不仅包含符合连接条件,而且还会包括表、右表或两个表中 所有数据,这三种情况依次称之为连接,右外连接,和全外连接。...连接,也称连接表为主表,表中所有记录都会出现在结果集中,对于那些在右表中并没有匹配记录,仍然要显示,右边对应那些字段值以NULL来填充。...右外连接,也称右连接,右表为主表,右表中所有记录都会出现在结果集中。连接和右连接可以互换,MySQL目前还不支持全外连接

19820

【数据库设计和SQL基础语法】--连接联接--多表查询子查询基础(一)

连接连接相比,不仅返回匹配,还返回不匹配,以确保包含了两个连接表中全部数据。 连接(Left Outer Join): 返回表中所有,以及右表中表匹配。...(Right Outer Join): 返回右表中所有,以及表中右表匹配。...如果表中没有匹配,将会返回 NULL 值。...自连接连接(Self-Join)是指在同一个表中进行连接操作,将表视为两个独立实例,通过某个字段值在同一表中建立关联。自连接通常用于处理具有层次结构数据,例如组织架构表或分类表。...这个案例展示了如何使用数据汇总技术,通过对销售数据进行统计和分组,得到有关产品销售情况汇总信息,为业务决策提供了重要参考。

25010

基本 SQL 之增删改查(二)

如果你没学过数学中笛卡尔积概念,你可以这样简单理解这里交叉连接: 两张表交叉连接就是一个连接合并过程,T1 表中每一会分别 T2 表每一做一个组合连接并单独生成一。...交叉连接使用关键字 CROSS JOIN 进行连接,例如: select * from table1 cross join table2 也可以按照 ANSI SQL:1989 规范中指定,使用逗号进行交叉连接...,例如: select * from table1,table2 通过交叉连接,我们可以两张表数据进行一个结合,但是你会发现同时也产生了很多冗余垃圾数据,所以我们往往也会结合 where 子句对结果集进行一个条件筛选...| +----+----------------+ 如果我们现在需要查询一个学生学院信息,我们就需要连接两个表,而我们交叉连接会为我们产生太多冗余数据,我们可以使用 where 子句对笛卡尔积后结果集进行一个条件筛选...日期时间函数: 由于日期函数在不同数据实现来说,很多相同功能函数具有不同函数名称,我们这里仅以 MySql 来介绍这些函数,给你一个宏观印象,不同数据库之间只不过语法差异,搜索引擎就可以解决。

88120

sql sever基本查询语句

查询(*可代表全部)(代表不等于于) select 列名 from 表名(,隔开) where 查询条件 order by 排序列名 +连接数据类型必须兼容(结果为字符串数据连接 , 如果连接数值型...as 别名 限制固定 top 所需 top 数字 percent(百分比) (紧放在selsct后) order by  列名(降序desc 升序asc(默认) ) 多列时 ,隔开 前面为主排序列...,指定数)从右查找字符串 left(值,指定数)从查找字符串 replace(原,需替,替为)替换字符 stuff(原,起始,个数,替)指定长度长度替换 日期函数 (用于操作日期) datdate()...当前日期(今天) dateadd(类型,值,日期)值类型值+日期 datediff(类型,起始日期1,终止日期2)1-2间隔时间 datename(类型,日期)指定日期返回字符串形式 datepart...(类型,日期)指定日期返回整数形式 数学函数 (用于对数值进行代数运算) rand() 0-1随机数 rand()*(最大-最小+1)+最小    可运算 abs ()绝对值 ceiling ()就近整数

1.7K50

2-SQL语言中函数

分组后筛选:分组后筛选是利用已经重新分配组内信息进行筛选, 这些信息不直接存储于数据库中。...'%A%' GROUP BY department_id; # 查询哪个部门员工个数大于2(添加分组后筛选) /* 这里不是利用employees表中原数据进行筛选, 而是根据筛选后结果进行二次筛选...,非等值连接,子连接) 外连接(包括连接,右外连接,全外连接) 交叉连接 # DQL函数语句--连接查询 /* 含义:又称为多表查询,当查询字段来自于多个表时,就会用到连接查询 分类: 按年代分类...`job_id` ; # 等值查询后可以进行模糊查询等,用AND语句连接即可 # 非等值连接 # 相较于等值查询主要区别就是替换了查询语句等于为其他判断符号 # 自连接 # 本质就是只在自己表内部等值连接...,则显示null 连接,left左边是主表 右外连接,left右边是主表 外和右外交换顺序,可以达到相同效果 */ # 连接 SELECT b.name,boy.* FROM beauty

2.8K10

MySQL数据库案例实战教程:数据类型、语法高级查询详解

连接(Left Outer Join):连接会返回表中所有的,并且和右表中满足连接条件进行连接,如果右表中没有匹配,则会用 NULL 值填充。...全连接(Full Outer Join):全连接会返回表和右表中所有,并且对于没有匹配行会用 NULL 值填充。...右外连接(Right Outer Join):右外连接会返回右表中所有的,并且和表中满足连接条件进行连接,如果表中没有匹配,则会用 NULL 值填充。...连接、全连接和右外连接提供了灵活方式来处理不同表之间关系,使得我们可以根据具体需求进行数据组合和筛选。...连接将返回表 websites 中所有,同时匹配右表 access_log 中

16810

数据科学面试中你应该知道十个SQL概念

SELECT DISTINCT SELECT DISTINCT语句是一定要记牢。将SELECT DISTINCT语句聚合函数(即第三个概念)一起使用是非常常见。...连接 vs 内连接 对于那些对SQL比较陌生或有一段时间没有使用过SQL的人来说,他们很容易混淆连接和内连接。请确保你能清楚理解每个连接如何获得不同结果。许多面试问题会要求你做一些连接。...因此,公司可能会考察你字符串格式化和处理,以确保你懂得如何处理数据。...日期时间处理 你肯定会遇到一些涉及日期和时间数据SQL问题。例如,你也许需要按月份对数据分组,或者将变量格式从DD-MM-YYYY转换为简单月份。...窗口函数 窗口函数使你能对所有执行聚合值,而不是只返回一(这是GROUP BY语句用处)。这对于排序、计算累计等等十分有用。 示例问题:编写一个查询以获取薪水最高empno。

1.2K00

Pandas三百题

agg({'salary': [np.mean, np.median, np.std], 'score': np.mean}) 21 - 聚合统计|自定义函数 在 18 题基础上,在聚合计算时新增一列计算最大平均值差值...如下图所示结果连接 left 和 right,保留表全部键 pd.merge(left,right,how='left') 21 - merge|右外连接 如下图所示结果连接 left 和...left 索引进行对齐 left.join(right) 26 -join|对齐(外连接) 按下图所示进行连接 思考:merge 做法 left.join(right,how='outer...') 27 - join|对齐(内连接) 按下图所示进行连接 left.join(right,how='inner') 28 -join|按索引 重新产生数据并按下图所示进行连接(根据 key)...|值 将 df1 索引设置为日期,将 df1 数据向后移动一天 df1.set_index(['日期']).shift(1) 25 - 日期重采样|日 -> 周 按周对 df1 进行重采样,保留每周最后一个数据

4.6K22

SQL语法速成手册,建议收藏!

模式(schema) - 关于数据库和表布局及特性信息。模式定义了数据在表中如何存储,包含存储什么样数据,数据如何分解,各部分信息如何命名等信息。数据库和表都有模式。...外连接返回一个表中所有,并且仅返回来自次表中满足连接条件那些,即两个表中列是相等。外连接分为连接、右外连接、全外连接(Mysql 不支持)。 连接就是保留表没有关联。...右外连接就是保留右表没有关联连接 vs 子查询 连接可以替换子查询,并且比子查询效率一般会更快。...COUNT() 返回某列行数 MAX() 返回某列最大值 MIN() 返回某列最小值 SUM() 返回某列值之和 AVG() 会忽略 NULL 。...代码封装,保证了一定安全性; 代码复用; 由于是预先编译,因此具有很高性能。

8K30

分享几道LeetCode中MySQL题目解法

用户首次登录日期查询结果 用首次登录日期原表连接连接条件为用户相同、且日期相差1天。因为可能存在用户不满足连续两天登录情况,所以这里需要用连接。...毫无疑问,思路仍然是先查找用户首日信息,进而通过连接查询次日登录情况,再根据日期分组聚合统计即可。...进而,将两部分结果进行连接,并对数据加以判断填充即可。...自然想法是要统计数据库中用户在每次来访中各进行交易次数,考虑到存在用户是来了之后但未进行实质交易,还要将来访表和交易表进行连接查询: 1select v.user_id, v.visit_date...信息是从0开始连续编号,以此生成编号作为框架最初得到含有交易次数信息进行连接,似乎就可以得到完整结果。

1.9K20

MySQL索引B+树、执行计划explain、索引覆盖最左匹配、慢查询问题

key 实际使用索引名 key_len 实际使用索引长度 ref 连接条件中列被哪些字段或常量使用 rows 预计需要扫描行数 filtered 从表中返回结果百分比 Extra 包含有关如何处理查询其他信息...const:通过索引一次就找到了,const主键或唯一索引一起使用时,最多只会返回一条记录。 eq_ref:使用唯一索引或主键进行关联,只返回匹配到记录。...ref:使用非唯一索引进行关联,返回匹配到多行记录。 range:只检索给定范围内,使用一个索引来选择。key列显示所使用索引。此类型通常出现在对键值进行范围查询时候。...2.2 最左前缀原则 最左前缀原则是指,在使用联合索引时,索引可以按照从至右顺序进行匹配,只有当左边所有的索引列都匹配成功后才会匹配右边列。...通常建立索引字段应该具有如下特点: 非空字段 经常用于条件查询字段 数值型字段或日期类型字段 例如下面这个查询: SELECT * FROM `user` WHERE `age` > 18; 可以为

43300

Mysql 快速指南

模式定义了数据在表中如何存储,包含存储什么样数据,数据如何分解,各部分信息如何命名等信息。数据库和表都有模式。 列(column):表中一个字段。所有表都是由一个或多个列组成。...COUNT() 返回某列行数 MAX() 返回某列最大值 MIN() 返回某列最小值 SUM() 返回某列值之和 AVG() 会忽略 NULL 。...外连接返回一个表中所有,并且仅返回来自次表中满足连接条件那些,即两个表中列是相等。外连接分为连接、右外连接、全外连接(Mysql 不支持)。 连接就是保留表没有关联。...右外连接就是保留右表没有关联连接 vs 子查询 连接可以替换子查询,并且比子查询效率一般会更快。 ?...代码封装,保证了一定安全性; 代码复用; 由于是预先编译,因此具有很高性能。

6.8K20

mysql 优化面试题

实践中如何优化MySQL 我当时是按以下四条依次回答,他们四条从效果上第一条影响最大,后面越来越小。...外连接 其结果集中不仅包含符合连接条件,而且还会包括表、右表或两个表中 所有数据,这三种情况依次称之为连接,右外连接,和全外连接。...连接,也称连接表为主表,表中所有记录都会出现在结果集中,对于那些在右表中并没有匹配记录,仍然要显示,右边对应那些字段值以NULL来填充。...右外连接,也称右连接,右表为主表,右表中所有记录都会出现在结果集中。连接和右连接可以互换,MySQL目前还不支持全外连接。...答:视图是一种虚拟表,具有和物理表相同功能。可以对视图进行增,改,查,操作,视图通常是有一个表或者多个表或列子集。对视图修改不影响基本表。它使得我们获取数据更容易,相比多表查询。

54840
领券