转自:https://blog.csdn.net/question_mark/article/details/103535100
JDBC
1、关于JDBC以下说法错误的是
A、DriverManager可以获取数据库连接
B、DataSource获取的数据库连接是可以重用的
C、DataSource获取的数据库连接也需要关闭物理连接
D、DataSource获取数据库连接也需要加载数据库驱动
2、下列说法错误的是
A、使用JDBC拥有更好的可移植性
B、JDBC制定了统一的数据库编程规范,需要由数据库厂商提供驱动包
C、JDBC也可以使用来连接NoSQL数据库,比如Redis
D、JDBC也可以执行DDL指令
3、关于PreparedStatement与Statement描述错误的是
A、一般而言,PreparedStatement比Statement执行效率更高
B、PreparedStatement会预编译SQL语句
C、Statement每次都会解析/编译SQL,确立并优化数据获取路径
D、Statement执行扫描的结果集比PreparedStatement大
4、执行同构的SQL、执行异构的SQL和调用存储过程分别调用的接口是:【完美世界2020届校招笔试题】
A、PreparedStatement、Statement、CallableStatement
B、CallableStatement、PreparedStatement、Statement
C、Statement、CallableStatement、PreparedStatement
D、PreparedStatement、CallableStatement、Statement
5、阅读下面两条查询语句,会因为使用了PreparedStatement使查询性能得以提升的是:【完美世界2020届校招面试题】
Query1:
String loanType = getLoanType();
PreparedStatement prestmt = conn.preparedStatement("select banks from loan where loan_type=" + loanType);
Query2:
String loanType = getLoanType();
PreparedStatement prestmt = conn.preparedStatement("select banks from loan where loan_type=?");
prestmt.setString(1, loanType);
A、Query1
B、Query2
C、Query1和Query2
D、None of them
数据库约束
1、SQL中,下列涉及空值的操作,不正确的是?
A、name IS NULL
B、name= NULL
C、namee IS NoT NULL
D、NoT(name IS NULL)
2、在满足实体完整性约束的条件下
A、一个关系中应该有一个或多个候选关键字
B、一个关系中只能有一个候选关键字
C、一个关系中必须有多关键字个候选
D、一个关系中可以没有候选关键字
3、下列选项中,不属于SQL约束的是:
A、UNIQUE
B、PRIMARY KEY
C、FOREIGN KEY
D、BETWEEN
4、若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是?
A、一对一
B、一对多
C、多对一
D、多对多
聚合查询
1、SQL 查询语句中 WHERE 、 GROUP BY 、 HAVING 这些关键字区别和用法总结错误的是
A、HAVING在查询语句中必须依赖于GROUP BY
B、WHERE子句用来限制SELECT语句从表中指定选取的行
C、GROUP BY子句用来分组WHERE子句的输出结果集
D、HAVING子句用来从分组的结果中筛选列
2、某查询语句运行后返回的结果集为:
| 1班 | 72 |
| 2班 | 75 |
| 3班 | NULL |
则最有可能的查询语句是以下:
A、SELECT class, AVG(score) FROM test WHERE class<3
B、SELECT class, AVG(score) FROM test WHERE class<3 GROUP BY class
C、SELECT class, AVG(score) FROM test WHERE class<3 GROUP BY ALL class
D、SELECT class, AVG(score) FROM test GROUP BY class HAVING class<3
3、有订单表orders,包含字段用户信息userid,字段产品信息productid,查询至少被订购过两回的productid。
A、select productid from orders where count(productid)>1
B、select productid from orders where max(productid)>1
C、select productid from orders where having count(productid)>1 group
by productidD、select productid from orders group by productid having
count(productid)>1
联表查询
1、已知表T1中有2行数据,T2中有3行数据,执行SQL语句,“select a.* from T1 a,T2 b”后,返回的行数为
A、2行
B、3行
C、5行
D、6行
2、Mysql查询时,只有满足联接条件的记录才包含在查询结果,这种联接是
A、左联接
B、右联接
C、内联接
D、全联接
3、数据库做join操作时,至少要涉及到几张表?
A、3
B、1
C、2
D、4
JDBC选择题答案
1.C
2.C
MySql 常用的DDL指令
NoSQL数据库没有标准的查询语言(SQL)
3D
PreparedStatement 的SQL语句会预编译在数据库系统
Statement每次都会解析/编译SQL,确立并优化数据获取路径
4A
同构的SQL pre 同构指的是两个SQL语句的可编译部分是相同的只是参数不一样
异构的SQL statement 异构指的是两个SQL语句整个格式都是不一样的
CallableStatement(用于数据库存储过程的调用)
5B
数据库约束选择题
1B
参考:与null有关的表达式不能用"="
2A
实体完整性约束要求关系的主键中属性值不能为空值.
3D
4B
聚合查询选择题答案
1D
Having 依赖and筛行
2C
网友分析了一下,因为class<3,理应是没有三班的,但是出现了是all在起作用,具体的我也不会了
3D
Having要在groupBy后面
联表查询选择题答案
1D
2C
内连接是保证两个表的所有行都要满足连接条件
外连接不仅包含符合连接条件的行,而且还包括左表(左连接时),右表(右连接时)中的所有行数据.
3B