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

数据库常见面试题及答案(数据库面试常见问题)

in/out/in out 三种模式的参数 可作为一个独立的PL/SQL语句来执行 不能独立执行,必须作为表达式的一部分调用 可以通过out/in out 返回零个或多个值 通过return语句返回一个值...缺点: 性能:查询视图时,必须把视图的查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义,那么,那么就无法更改数据 11、列举几种表连接方式,有什么区别?...1.建索引 2.减少表之间的关联 3.优化sql,尽量让sql很快定位数据,不要让sql做全表查询,应该走索引,把数据 量大的表排在前面 4.简化查询字段,没用的字段不要,已经对返回结果的控制,尽量返回少量数据...Oracle自己开发了一个数据类型varchar2,这个类型不是一个标准的varchar,他将在数据库中varchar列可以存储空字符串的特性改为存储null值,如果你想有向后兼容的能力,oracle建议使用...sql的语法的不同。 18、Oracle语句有多少类型 Oracle语句分三类:DDL、DML、DCL。

4.1K10

这是我见过最有用的Mysql面试题,面试了无数公司总结的(内附答案)

SQL中的TCL命令有哪些不同? TCL命令用于管理DML语句所做的更改。 COMMIT:将更改写入并存储到数据库 ROLLBACK:自上次提交以来还原数据库 17.什么是索引?...数据库查询可以是选择查询或动作查询。 24.什么是子查询? 子查询是另一个查询中的SQL查询。它是Select语句的子集, 其返回值用于过滤主查询的条件。 25.子查询的类型是什么?...这是重要的Oracle DBA面试问题之一。 自动增量关键字使用户可以创建一个唯一的数字,以便在将新记录插入表中时生成该数 字。每当使用主键时,都可以使用自动递增关键字。...= 0 96.什么是SQL CASE语句? SQL Case语句允许在SELECT语句中嵌入if-else like子句。 98.下面的查询结果是什么?...select case when null = null then 'True' else 'False' end as Result; 该查询返回“ False”。

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

    Oracle实践|内置函数之关于判断逻辑和判断条件

    如果所有输入条件都为假,则返回假(false)。查询薪资在5000美元以上或者部门编号在20以上的员工。...如果输入条件为真,则返回假(false);如果输入条件为假,则返回真(true)。查询部门编号不在 10和20 中的员工。...条件判断1 CASE表达式CASE表达式是一个比较常用的表达式工具,它允许在SQL语句中使用逻辑结构为 如果 ... 那么... 如果 ... 那么... 最后 的SQL语句。...如果expr等于一个搜索,则Oracle数据库返回相应的结果。如果没有找到匹配项,则Oracle返回default。如果省略default,则Oracle返回null。...resultN 是当expression = searchN时返回的结果。default 是当没有任何searchN匹配expression时返回的值(可选)。

    30310

    【SQL】作为前端,应该了解的SQL知识(第三弹)

    视图里面保存的是 从表中取出数据所使用的SELECT语句(视图中的数据会随着原表的变化自动更新)。 查视图时,视图会在内部执行该SELECT语句并创建一张临时表。...因为子查询在SELECT语句执行完毕后就会消失 子查询就是将用来定义视图的 SELECT 语句直接用于FROM 子句当中。...注意: 在Oracle的FROM子句中,不能使用AS 尽量避免多层子查询 执行顺序: 内层的子查询 ——> 外层的查询 标量子查询 就是返回一行一列的子查询 一般情况下,标量子查询的 返回值 可以用在...子查询内部设定的关联名称,只能在该子查询内部使用 谓词 谓词的返回值都是真值 LIKE 模糊查询 模糊匹配的符号: %: 表示任意字符 _: 表示任意一个字符 BETWEEN 范围查询。...CASE表达式 Oracle中的DECODE就是CASE … WHEN … 语句 条件分支语句。

    16920

    《SQL Cookbook》 - 第一章 检索数据

    在SELECT语句中指定具体的列名,可以确保查询语句不会返回无关的数据。当在整个网络范围内检索数据时,这样做更重要,因为他避免了将时间浪费在检索不需要的数据上。 2....FROM子句,查询结果就可以在最外层的WHERE子句开始前产生,最外层的WHERE子句就可以“看到”别名列了, select * from ( select sal as salary, comm ...可以为CASE表达式的执行结果取一个别名,让结果集更有可读性。...ELSE子句是可选的,若没有他,对于不满足测试条件的行,CASE表达式会返回NULL, select ename, sal, case when sal NULL值改为实际值,该函数会返回参数列表第一个非NULL的值,如果c不为0,返回c,否则返回0, select coalesce(c, 0) from emp; 此处能使用CASE

    88720

    接口测试平台:支持SQL语句执行(Mysql、Oracle)

    SQL的使用,主要有以下两个模块: 1、数据库配置 ? 2、case管理与执行 ? 数据库管理这一块,无外乎简单的增删改查,主要是为了保存数据库信息,在此不做过多展开。 ?...然后是case的管理: ? case结构比较简单,主要是两块: 1、sql的基础信息,包含所用数据库、case名称、sql语句及备注信息 2、需要保存的变量、返回结果。...需要保存的变量这一块,同样支持jsonPath和正则两种方式(后端将返回的表格转换为了JsonArray的形式,所以也支持jsonPath)。...sqlCaseMapper.updateSqlCase(sqlCase); // 将执行后的结果返回给前端 responseVo.setIsSuccess...然后通过正则表达式去判断要执行的语句类型,如果是select则返回查询结果,是其他操作则返回操作状态。

    1.5K20

    一脸懵逼学习oracle

    3.1:connect role(连接角色)         临时用户,特别时那些不需要建表的用户,通常只赋予他们connect role,connect是使用         oracle的简单权限,...),它用于将二进制数据存储在数据库外部的操作系统文件中; (3)oracle中伪列就像一个表列,但是它并没有存储在表中       a:伪列可以从表中查询,但不能插入,更新和删除它们的值       ...b:常用的伪列有rowid,rownum       c:Rowid是表中行的存储地址,该地址可以唯一地标识数据库中的一行,可以使用rowid伪列快速地定位表中的一行;       RowNum是查询返回的结果集中行的序号...,可以使用它来限制查询返回的行数; 12:数据定义语言用于改变数据库结构,包括创建,更改,和删除数据库对象: 1:用户操纵表结构的数据定义语言命令有:   (1):create table...; 2:Oracle连接:         使用连接在多个表中查询数据;         在where子句中写入连接条件;         在表中有相同列时,在列明之前加上表名前缀; 3:连接多给表:

    2.1K70

    Oracle使用总结之异常篇

    SQLCODE 返回遇到的Oracle错误号, SQLERRM 返回遇到的Oracle错误信息....一种为用户自定义异常,内部异常是执行期间返回到PL/SQL块的ORACLE错误或由PL/SQL代码的某操作引起的错误,如除数为零或内存溢出的情况。...因为每个ORACLE错误都有一个号码并且在PL/SQL中异常通过名字处理,ORACLE提供了预定义的内部异常。如SELECT INTO 语句不返回行时产生的ORACLE异常NO_DATA_FOUND。...ora-01403  +100 select into 语句没有符合条件的记录返回   too_many_rows ora-01422  -1422  select into 语句符合条件的记录有多条返回...  zero_divide ora-01476  -1476  除数为零   case_not_found ora-06592  -6530  对于选择case语句,没有与之相匹配的条件,同时,也没有else

    2K60

    PortSwigger之SQL注入实验室笔记

    使用category参数中的以下有效负载验证查询是否返回三列:'+UNION+SELECT+NULL,NULL,NULL-- 尝试用实验室提供的随机值替换每个空值,例如:'+UNION+SELECT+'...,我们搜索一下oracle的select语句用法oracle select statement Oracle select语句解释https://www.oracletutorial.com/oracle-basics...4 检索数据库中的表列表 查找我们的SQL 注入备忘单,找到查询列出数据库中存在的表以及这些表包含的列语句 SELECT * FROM all_tables Google搜索all_tables oracle...在题目的描述中得知数据库对cookie 值进行 SQL 查询,当sql语句执行成功时,会显示Welcome back!...这表明您可以根据特定条件的真实性有条件地触发错误。该CASE语句测试一个条件,如果条件为真,则计算为一个表达式,如果条件为假,则计算为另一个表达式。前一个表达式包含被零除,这会导致错误。

    2.2K10

    续《表扫描与索引扫描返回的行数不一致》

    续《表扫描与索引扫描返回的行数不一致》 上篇文章主要介绍了如何从分析表得到的报错,以及trace中的信息,判断表返回的记录与索引返回记录不一致时的处理方式。...dname FROM   dept t1 MINUS SELECT /*+ index(t I_DEPT1) */ rowid, deptno, dname FROM   dept t; 确保查询语句的执行计划使用受影响的索引...查询未使用索引的原因之一是因为索引列定义为允许NULL值。如果是这样,可以添加一个where子句,例如:where deptno is not null。...导致这种问题的根本原因就是表和索引之间的不一致,可能是由于Oracle的defect产生,或者Oracle外部问题,例如IO丢失。硬件或OS子系统问题可能导致IO丢失写入。...如果出现IO丢失,包含表或索引的块修改操作就可能不会写入Oracle的数据文件中,引起键缺失。解决方法可以参考上一篇文章《表扫描与索引扫描返回的行数不一致》。

    81830
    领券