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

Java面试之数据库面试题

游标:是对查询出来结果集作为一个单元来有效处理。游标可以定在该单元特定行,从结果集的当前行检索一行或多行。可以对结果集当前行做修改。...内连接、自连接、外连接(左、右、全)、交叉连接 内连接:只有两个元素表相匹配才能在结果集中显示。 外连接: 左外连接:左边为驱动表,驱动表数据全部显示,匹配表不匹配不会显示。...右外连接:右边为驱动表,驱动表数据全部显示,匹配表不匹配不会显示。 全外连接:连接不匹配数据全部会显示出来。 交叉连接: 笛卡尔效应,显示结果链接表乘积。...UNION ALL只是简单两个结果合并后就返回。这样,如果返回两个结果集中有重复数据,那么返回结果集就会包含重复数据了。...从效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并两个结果集中不包含重复数据的话,那么就使用UNION ALL。 16、Varchar2和varchar有什么区别?

1.5K20

数据库经典面试题,都给你收集好了!!!

游标:是对查询出来结果集作为一个单元来有效处理。游标可以定在该单元特定行,从结果集的当前行检索一行或多行。可以对结果集当前行做修改。...内连接、自连接、外连接(左、右、全)、交叉连接 内连接:只有两个元素表相匹配才能在结果集中显示。 外连接: 左外连接:左边为驱动表,驱动表数据全部显示,匹配表不匹配不会显示。...右外连接:右边为驱动表,驱动表数据全部显示,匹配表不匹配不会显示。 全外连接:连接不匹配数据全部会显示出来。 交叉连接: 笛卡尔效应,显示结果链接表乘积。...UNION ALL只是简单两个结果合并后就返回。这样,如果返回两个结果集中有重复数据,那么返回结果集就会包含重复数据了。...从效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并两个结果集中不包含重复数据的话,那么就使用UNION ALL。 16、Varchar2和varchar有什么区别?

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

Java面试之数据库面试题

游标:是对查询出来结果集作为一个单元来有效处理。游标可以定在该单元特定行,从结果集的当前行检索一行或多行。可以对结果集当前行做修改。...内连接、自连接、外连接(左、右、全)、交叉连接 内连接:只有两个元素表相匹配才能在结果集中显示。 外连接: 左外连接:左边为驱动表,驱动表数据全部显示,匹配表不匹配不会显示。...右外连接:右边为驱动表,驱动表数据全部显示,匹配表不匹配不会显示。 全外连接:连接不匹配数据全部会显示出来。 交叉连接: 笛卡尔效应,显示结果链接表乘积。...UNION ALL只是简单两个结果合并后就返回。这样,如果返回两个结果集中有重复数据,那么返回结果集就会包含重复数据了。...从效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并两个结果集中不包含重复数据的话,那么就使用UNION ALL。 16、Varchar2和varchar有什么区别?

1.5K41

数据库常见面试题大全

游标:是对查询出来结果集作为一个单元来有效处理。游标可以定在该单元特定行,从结果集的当前行检索一行或多行。可以对结果集当前行做修改。...内连接、自连接、外连接(左、右、全)、交叉连接 内连接:只有两个元素表相匹配才能在结果集中显示。 外连接: 左外连接:左边为驱动表,驱动表数据全部显示,匹配表不匹配不会显示。...右外连接:右边为驱动表,驱动表数据全部显示,匹配表不匹配不会显示。 全外连接:连接不匹配数据全部会显示出来。 交叉连接: 笛卡尔效应,显示结果链接表乘积。...UNION ALL只是简单两个结果合并后就返回。这样,如果返回两个结果集中有重复数据,那么返回结果集就会包含重复数据了。...从效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并两个结果集中不包含重复数据的话,那么就使用UNION ALL。 16、Varchar2和varchar有什么区别?

1.4K40

小议如何使用APPLY

这种格式可以一方面从表或者结果集中一行数据取出几列数值,另一方面将取出数据作为输入条件得到表函数值或者表达式。...操作符取到了SearchString表String 字段然后调用表函数FindProductLike 。...唯一不同是CROSS APPLY即使没有匹配到任何行在函数,已然能够链接表数据并在本来应该有函数表现列上填充null。...来看看具体如何实现,如图: image.png 正如实例中表现一样,我们也能通过使用表表达式形式来实现之前调用表函数实现结果。...总结: APPLY操作符,让我们能够将结果集中行与表函数或者表表达式结果连接在一起。通过使用操作符我们能很快实现一下之前复杂表链接或者是相关子查询等等T-SQL语句,使得代码简介高效。

67450

MySQL 排序艺术:你真的懂 Order By 吗?

,全字段排序过程: 从 city 索引树上找到第一条为深圳数据,取得 id 之后回表(回到主键索引)取得 nick_name、age、phone 三个字段放入 sort buffer 从 city...「rowId 排序是指只将与排序相关字段和 rowId 放入 sort buffer,其余结果集需要用到数据在排序完成后,通过 rowId 回表取得。」...: 在所有待排序数据,取数量为 LIMIT (本例为 3)数据,构建一个堆 不断取下一行数据,更新堆节点 当所有行扫描完,得到最终排序结果 如何选择?...现在我们知道有全字段排序和 rowId 排序,那么 MySQL 是如何在这两种排序方案做选择呢?...当单行数据长度超过该,MySQL 就会觉得如果还用全字段排序,会导致 sort buffer 容纳下行数太少,从而转为使用 rowId 排序。

2.3K61

MySQL 排序艺术

,全字段排序过程: 从 city 索引树上找到第一条为深圳数据,取得 id 之后回表(回到主键索引)取得 nick_name、age、phone 三个字段放入 sort buffer 从 city...rowId 排序是指只将与排序相关字段和 rowId 放入 sort buffer,其余结果集需要用到数据在排序完成后,通过 rowId 回表取得。...: 在所有待排序数据,取数量为 LIMIT (本例为 3)数据,构建一个堆 不断取下一行数据,更新堆节点 当所有行扫描完,得到最终排序结果 如何选择?...现在我们知道有全字段排序和 rowId 排序,那么 MySQL 是如何在这两种排序方案做选择呢?...当单行数据长度超过该,MySQL 就会觉得如果还用全字段排序,会导致 sort buffer 容纳下行数太少,从而转为使用 rowId 排序。

1.7K30

笨办法学 Python · 续 练习 39:SQL 创建

这也意味着将数据插入到表,并使用表和插入来链接表。由于我们需要一些表和一些数据来完成其余 CRUD(增删改查),我们开始学习如何在 SQL 执行最基本创建操作。...将两个表链接在一起,只是向person_pet插入一行。它拥有两行 ID 列,你想要链接它们。...第一种形式是更明确风格,最有可能是你应该使用东西。它指定要插入列,后跟VALUES,然后要包括数据。这两个列表(列名和)都在括号内,并以逗号分隔。...你如何摆脱这个关系表person_pet,并将这些信息优雅放在person里面?这个变化暗示了什么? 如果你可以把一行放入person_pet,你是否可以放多行?...如果将上一个练习数据库更改为没有person_pet表,则使用该模式创建一个新数据库,并将相同信息插入到该数据库。 回顾数据类型列表,并记录不同类型所需格式。

89920

珍藏 | Java 岗位 【数据库】 面试题及答案详解

- 游标:是对查询出来结果集作为一个单元来有效处理。 游标可以定在该单元特定行,从结果集的当前行检索一行或多行。 可以对结果集当前行做修改。...- 内连接、自连接、外连接(左、右、全)、交叉连接 - 内连接:只有两个元素表相匹配才能在结果集中显示。...- 交叉连接: 笛卡尔效应,显示结果链接表乘积。 11:主键和外键区别?...这样,如果返回两个结果集中有重复数据,那么返回结果集就会包含重复数据了。...· 从效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并两个结果集中不包含重复数据的话,那么就使用UNION ALL。

3.4K20

Mysql如何使用order by工作

日常开发,我们经常要进行字段排序,但是我们大多不知道排序是如何执行,今天我们就说说order by 执行逻辑, CREATE TABLE `t` ( `id` int(11) NOT NULL...rowid排序 我们可以看到如果查询字段很多的话,那么sort_buffer存放字段数太多,就会使用临时文件进行排序,因此造成了很大浪费,此时mysql任务排序单行长度会怎么做呢, 首先我要知道如何判断单行长度太大...新算法放入sort_buffer字段,只需要排序列和主键id,但是这个时候,并不能直接返回排序结果,而是要回表查询整行。...初始化sort_buffer,确定放入两个字段,即name和id 从索引city中找到第一个满足条件主键id 再到主键id索引获取整行,取出name,id两个字段,存入sort_buffer 在从索引...,name,age)中找到满足city=杭州记录,取出city,name,age这三个字段,作为结果一部分返回 从索引(city,name,age)取下一个记录,同样取出三个字段,作为结果返回

1K20

Microsoft office 2021激活密钥值得购买吗?

新增功能: LET 函数 LET 函数将名称分配给计算结果。 这允许在公式存储中间计算、或定义名称。...现在,Word 深色模式还提供深色画布。 新增功能: 使用行焦点提高理解 在 Word 中一行一行地浏览文档而不不受干扰。 调整焦点,一次在视图中放入一行、三行或五行。...刷新、重新链接或删除链接表 更新 链接表管理器 是查看和管理 Access 数据库中所有数据源和链接表中心位置。 查看我们根据你反馈对 链接表管理器 所做所有改进。...选取完美颜色 根据你反馈,我们在十六进制颜色" 颜色 "对话框添加了一个新输入字段。 现在,无需花时间将十六进制颜色转换为 RGB 。...对于可以定义颜色任何属性,现在可以在 十六进制 框输入十六进制颜色,例如#0F4C81或 444。

5.7K40

你该来感受下 MySQL 排序艺术 ...

,全字段排序过程: 从 city 索引树上找到第一条为深圳数据,取得 id 之后回表(回到主键索引)取得 nick_name、age、phone 三个字段放入 sort buffer 从 city...rowId 排序是指只将与排序相关字段和 rowId 放入 sort buffer,其余结果集需要用到数据在排序完成后,通过 rowId 回表取得。...: 在所有待排序数据,取数量为 LIMIT (本例为 3)数据,构建一个堆 不断取下一行数据,更新堆节点 当所有行扫描完,得到最终排序结果 如何选择?...现在我们知道有全字段排序和 rowId 排序,那么 MySQL 是如何在这两种排序方案做选择呢?...当单行数据长度超过该,MySQL 就会觉得如果还用全字段排序,会导致 sort buffer 容纳下行数太少,从而转为使用 rowId 排序。

76710

MYSQL数据库-复合查询

;其实我们只要emp表deptno = dept表deptno字段记录 显示部门号为10部门名,员工名和工资 显示各个员工姓名,工资,及工资级别 三、自连接 自连接是指在同一张表连接查询...worker,给自己表起别名,因为要先做笛卡尔积,所以别名可以先识别 四、子查询 子查询是指嵌入在其他sql语句中select语句,也叫嵌套查询 1、单行子查询 返回一行记录子查询...(部门名,编号,地址)和人员数量 五、合并查询 在实际应用,为了合并多个select执行结果,可以使用集合操作符 union,union all 1、union 该操作符用于取得两个结果并集...当使用该操作符时,会自动去掉结果集中重复行 示例:将工资大于2500或职位是MANAGER的人找出来 2、union all 该操作符用于取得两个结果并集。...当使用该操作符时,不会去掉结果集中重复行 示例:将工资大于25000或职位是MANAGER的人找出来

13.2K30

MySQL order by 是怎么工作

上面的查询只返回3个字段,不会太长,可以一起都放在 sort_buffer ,但如果排序单行长度太大,MySQL会怎么做?...此时,放入 sort_buffer 字段就会只有要排序字段 name,和主键 id,那么排序结果中就少了 city 和 age,需要回表了。...到主键索引取出整行,把 name、id 这2个字段放入 sort_buffer。 从索引 city 取下一个记录主键ID。 重复3、4,直到city不满足条件。...对 sort_buffer 数据按照 name 做快速排序。 取排序结果前1000行,并按照 id 到原表取出 name、city、age 3个字段返回给客户端。...小结 上面介绍了排序工作流程,包括: 全字段排序 rowid 排序 并进一步思考如何对排序进行优化: 利用索引使查询结果本身就是有序。 如果条件允许,使用覆盖索引,直接返回结果

1.7K30

SQL命令 INSERT(三)

尝试编译引用READONLY字段插入会导致SQLCODE-138错误。请注意,此错误现在在编译时发出,而不是仅在执行时发出。使用链接表向导链接表时,可以选择将字段定义为只读。...源系统上字段可能不是只读,但如果IRIS将链接表字段定义为只读,则尝试引用此字段INSERT将导致SQLCODE-138错误。 字段: 每个字段都必须通过数据类型验证。...但是,在SQL两个连续减号被解析为单行注释指示符。因此,尝试使用两个连续前导减号指定一个数字会导致SQLCODE-12错误。...试图将子查询指定为字段将导致SQLCODE -144错误。 插入操作 Privileges 要将一行或多行数据插入到表,您必须拥有该表表级特权或列级特权。...如果INSERT命令指定结果集SELECTWHERE子句中字段,则如果这些字段不是数据插入字段,则必须具有这些字段SELECT权限,如果这些字段包含在结果集中,则必须具有这些字段SELECT和INSERT

2.4K10

Greenplum 实时数据仓库实践(2)——数据仓库设计基础

属性是属性一个特定有效,可以是简单标量值,也可以是复合数据类型。 在关系数据模型,我们把关系描述为表,表行对应不同记录,表列对应不同属性。...如果用户要查询某种状态特性订单,按3NF模型,逻辑上需要关联100万记录与1000万记录两个大表,然后过滤两个状态值得到所要结果。...维度模型是可扩展。由于维度模型允许数据冗余,因此当向一个维度表或事实表添加字段时,不会像关系模型那样产生巨大影响,带来结果就是更容易容纳不可预料新增数据。...将维度表进行规范化具体做法是,把低基数属性从维度表移除并形成单独表。基数指的是一个字段不同个数,如主键列具有唯一,所以有最高基数,而象性别这样列基数就很低。...一个链接表意味着两个或多个中心表之间有关联。一个链接表通常是一个外键,它代表着一种业务关系。表2-14列出了链接表所有字段

1.7K30

MySQL实战第十六讲-“order by”是怎么工作

sort_buffer_size 越小,需要分成份数越多,number_of_tmp_files 就越大。 接下来,我再和你解释一下图 4 其他两个意思。...它意思是,如果单行长度超过这个,MySQL 就认为单行太大,要换一个算法。...初始化 sort_buffer,确定放入两个字段,即 name 和 id; 2. 从索引 city 找到第一个满足 city='杭州’条件主键 id,也就是图中 ID_X; 3. ...根据这个说明过程和图示,你可以想一下,这个时候执行 select @b-@a,结果会是多少呢? 现在,我们就来看看结果有什么不同。...这时候数据量较大,可以同时起两个连接一行行读结果,用归并排序算法拿到这两个结果集里,按顺序取第 10001~10100 name ,就是需要结果了。

58330

MySQL深入学习第十六篇-“order by”是怎么工作

sort_buffer_size 越小,需要分成份数越多,number_of_tmp_files 就越大。 接下来,我再和你解释一下图 4 其他两个意思。...它意思是,如果单行长度超过这个,MySQL 就认为单行太大,要换一个算法。...初始化 sort_buffer,确定放入两个字段,即 name 和 id; 2. 从索引 city 找到第一个满足 city='杭州’条件主键 id,也就是图中 ID_X; 3....根据这个说明过程和图示,你可以想一下,这个时候执行 select @b-@a,结果会是多少呢? 现在,我们就来看看结果有什么不同。...这时候数据量较大,可以同时起两个连接一行行读结果,用归并排序算法拿到这两个结果集里,按顺序取第 10001~10100 name ,就是需要结果了。

60920

SQL命令 UPDATE(一)

如果在这里在两个选择表之间指定逗号, IRIS将对表执行CROSS JOIN,并从JOIN操作结果检索数据。...如果插入请求失败由于违反唯一键(字段(s)一些独特关键,存在这一行已经有相同(s)为插入指定行),然后它会自动变成一个更新请求这一行,并插入或更新使用指定字段来更新现有的行。...列名和: 更新不能包含重复字段名。 尝试指定两个具有相同名称字段更新将导致SQLCODE -377错误。 不能更新已被另一个并发进程锁定字段。...然而,在SQL两个连续负号被解析为单行注释指示符。 因此,试图指定具有两个连续前导减号数字将导致SQLCODE -12错误。...例如: VALUES :myarray() 只能使用主机变量在嵌入式SQL执行此赋值。 与所有其他赋值不同,这种用法允您延迟指定哪些列要更新到运行时(通过在运行时填充数组)。

2.9K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券