选择题-数据库

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 productid

D、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

相关推荐
sql语句来练习题。1. 写出创建图书表的SQL语句。 Create table book( Book_id char (10) primary key, (主码primary key) Name varchar(30) not null, (非空not null) Author varchar(20) Publish varchar(30) Price decimal(6,2) (,前表示有几位有效数字 ,后表示小数部分有几位) ) 2. 将编号为“NEU1105101”的图书的定价改为50元。 Update book (修改数据update语句) Set price=50 Where book_id=‘NEU1105101’ 3. 查询所有男性读者的姓名和出生日期。 Select name.birthdate From reader Where sex=‘男’ 4. 查询图书表中出现过哪些出版社,每个出版社名称只显示一次,并且按照出版社名称升序排列显示。 Select publish From book Order by publish ASC (按照出版社升序排列显示) 5. 查询借阅过定价介于20元到40元(包括两个边界值)图书的读者的姓名。 Select Name (建立多表连接查询) From borrow join book on borrow.book_id=book.book_id Join reader on borrow.reader_id=reader.readerid Where price >=20 and price <=40 6. 查询每个读者借阅过图书的数量,只显示借阅过图书的读者的读者编号以及借书数量。 Select count(book_id),reader_id (建立多表连接查询) From borrow join book on borrow.book_id=book.book_id Join reader on borrow.reader_id=reader.readerid Group by reder_id 7. 如果有一个名为user001的用户,请写出给他分配对图书表进行数据修改的权限的SQL语句。 Grant update on book to user001 (授权grant语句) 8. 创建一个名为view001的视图,其中包含每个出版社的名称、该出版社出版图书的数量、该出版社出版图书的最高定价、以及该出版社出版图书的最低定价。 Create view view001 (创建视图格式,聚集函数) AS Select publish,count(book_id),MAX(price),MIN(price) From student 9. 显示借阅过书名包含“数据库”字样的女性读者的编号和姓名。 Select Name,reader_id (建立多表连接查询) From borrow join book on borrow.book_id=book.book_id Join reader on borrow.reader_id=reader.readerid Where name like ‘%数据库%’ 10. 显示出版图书数量超过100本的出版社的名称及其出版图书的数量。 Select count(book_id),publish (查询图书数量,出版社名称) From book Group by publish (根据出版社的名称来分组) Having count(book_id)>100 (条件约束) 这里用having 不用where 原因是它不能和聚集函数一起使用。
©️2020 CSDN 皮肤主题: 像素格子 设计师:CSDN官方博客 返回首页