sql多表查询练习题

  1. 在SQL中,如果需要删除表t01和t02并自动删除它们的依赖对象,应该使用哪个命令?

A. DROP TABLE t01, t02;

B. DROP TABLE IF EXISTS t01, t02;

C. DROP TABLE IF EXISTS t01 CASCADE; DROP TABLE IF EXISTS t02 CASCADE;

D. DROP TABLE t01 CASCADE; DROP TABLE t02 CASCADE;

答案:C

  1. 创建表t01和t02的正确SQL语句是什么?

A. CREATE TABLE t01(id1 int, id2 int, id3 int); CREATE TABLE t02(id1 int, id4 int, id5 int);

B. CREATE TABLE t01(id1 int,id2 int,id3 int): CREATE TABLE t02(id1 int,id4 int,id5 int);

C. CREATE TABLE t01(id1 int, id2 int, id3 int), t02(id1 int, id4 int, id5 int);

D. CREATE TABLE t01 {id1 int, id2 int, id3 int} CREATE TABLE t02 {id1 int, id4 int, id5 int}

答案:A

  1. 插入数据到t01和t02表的正确SQL命令是什么?

A. INSERT INTO t01 VALUES(1,1,1),(2,2,2),(3,3,3);

INSERT INTO t02 VALUES(1,4,4),(2,2,2),(4,6,6);

B. INSERT INTO t01 (1,1,1),(2,2,2),(3,3,3);

INSERT INTO t02 (1,4,4),(2,2,2),(4,6,6);

C. INSERT INTO t01 VALUES{1,1,1}, {2,2,2}, {3,3,3} ;

INSERT INTO t02 VALUES{1,4,4}, {2,2,2}, {4,6,6};

D. INSERT INTO t01 (VALUES(1,1,1),(2,2,2),(3,3,3)) ;

INSERT INTO t02 (VALUES(1,4,4),(2,2,2),(4,6,6));

答案:A

  1. 使用INNER JOIN子句查询t01和t02所有字段的正确SQL命令是什么?

A. SELECT * FROM t01 INNER JOIN t02 ON t01.id1=t02.id1

B. SELECT * FROM t01 JOIN t02 WHERE t01.id1=t02.id1

C. SELECT * FROM t01 INNER JOIN t02 WHERE t01.id1=t02.id1

D. SELECT * FROM t01, t02 WHERE t01.id1=t02.id1

答案:A

  1. 在SQL中,如何通过为表设置别名简化SQL语句?

A. SELECT * FROM t01 a INNER JOIN t02 b ON a.id1=b.id1

B. SELECT * FROM t01 AS a INNER JOIN t02 AS b ON a.id1=b.id1

C. SELECT * FROM t01 a JOIN t02 b WHERE a.id1=b.id1

D. SELECT * FROM t01 a, t02 b WHERE a.id1=b.id1

答案:A

  1. 以下哪个SQL命令表示等价于SELECT * FROM t01 a LEFT JOIN t02 b ON a.id1=b.id1;?

A. SELECT * FROM t01 a, t02 b WHERE a.id1=b.id1(+)

B. SELECT * FROM t01 a, t02 b WHERE a.id1=b.id1

C. SELECT * FROM t01 a RIGHT JOIN t02 b ON a.id1=b.id1

D. SELECT * FROM t01 a INNER JOIN t02 b ON a.id1=b.id1

答案:A

  1. 使用WHERE子句代替INNER JOIN ON关键字的正确SQL命令是什么?

A. SELECT * FROM t01 a, t02 b WHERE a.id1=b.id1

B. SELECT * FROM t01 a INNER JOIN t02 b WHERE a.id1=b.id1

C. SELECT * FROM t01 a JOIN t02 b ON a.id1=b.id1

D. SELECT * FROM t01 a, t02 b ON a.id1=b.id1

答案:A

  1. 左外连接(LEFT OUTER JOIN)的正确SQL命令是什么?

A. SELECT * FROM t01 a LEFT JOIN t02 b ON a.id1=b.id1

B. SELECT * FROM t01 a LEFT OUTER JOIN t02 b WHERE a.id1=b.id1

C. SELECT * FROM t01 a INNER JOIN t02 b ON a.id1=b.id1

D. SELECT * FROM t01 a, t02 b WHERE a.id1=b.id1

答案:A

  1. 全外连接(FULL OUTER JOIN)的正确SQL命令是什么?

A. SELECT * FROM t01 a FULL OUTER JOIN t02 b ON a.id1=b.id1

B. SELECT * FROM t01 a JOIN t02 b ON a.id1=b.id1

C. SELECT * FROM t01 a FULL JOIN t02 b ON a.id1=b.id1

D. SELECT * FROM t01 a, t02 b WHERE a.id1=b.id1

答案:A

  1. 交叉连接(CROSS JOIN)也称为什么?

A. 笛卡尔积

B. 内连接

C. 外连接

D. 自然连接

答案:A

  1. 在SQL中,非等值连接可以是哪种类型的连接?

A. 仅内连接

B. 仅外连接

C. 内连接或外连接

D. 自然连接

答案:C

  1. 以下哪个SQL命令表示全外连接?

A. SELECT * FROM t01 a LEFT JOIN t02 b ON a.id1=b.id1

B. SELECT * FROM t01 a RIGHT JOIN t02 b ON a.id1=b.id1

C. SELECT * FROM t01 a FULL OUTER JOIN t02 b ON a.id1=b.id1

D. SELECT * FROM t01 a INNER JOIN t02 b ON a.id1=b.id1

答案:C

  1. 自然连接可以是哪种类型的连接?

A. 仅内连接

B. 仅外连接

C. 内连接或外连接

D. 交叉连接

答案:C

  1. 使用USING关键字代替连接条件的SQL命令是什么?

A. SELECT * FROM t01 a INNER JOIN t02 b ON a.id1=b.id1

B. SELECT * FROM t01 a JOIN t02 b USING(id1)

C. SELECT * FROM t01 a, t02 b WHERE a.id1=b.id1

D. SELECT * FROM t01 a FULL OUTER JOIN t02 b ON a.id1=b.id1

答案:B

  1. 以下哪个SQL命令会生成笛卡尔积?

A. SELECT * FROM t01 a INNER JOIN t02 b ON a.id1=b.id1

B. SELECT * FROM t01 a CROSS JOIN t02 b

C. SELECT * FROM t01 a, t02 b WHERE a.id1=b.id1

D. SELECT * FROM t01 a INNER JOIN t02 b

答案:BD

  1. 当连接过程中提供了无效的连接条件,结果会变成什么?

A. 空集

B. 笛卡尔积

C. 内连接

D. 外连接

答案:B

  1. 以下哪个SQL命令表示左外连接?

A. SELECT * FROM t01 a LEFT JOIN t02 b ON a.id1=b.id1

B. SELECT * FROM t01 a RIGHT JOIN t02 b ON a.id1=b.id1

C. SELECT * FROM t01 a FULL OUTER JOIN t02 b ON a.id1=b.id1

D. SELECT * FROM t01 a INNER JOIN t02 b ON a.id1=b.id1

答案:A

  1. 以下哪个SQL命令表示右外连接?

A. SELECT * FROM t01 a RIGHT JOIN t02 b ON a.id1=b.id1

B. SELECT * FROM t01 a LEFT JOIN t02 b ON a.id1=b.id1

C. SELECT * FROM t01 a FULL OUTER JOIN t02 b ON a.id1=b.id1

D. SELECT * FROM t01 a INNER JOIN t02 b ON a.id1=b.id1

答案:A

相关推荐
@ chen3 分钟前
Redis事务机制
数据库·redis
KaiwuDB19 分钟前
使用Docker实现KWDB数据库的快速部署与配置
数据库·docker
Bug退退退12332 分钟前
RabbitMQ 高级特性之重试机制
java·分布式·spring·rabbitmq
小皮侠33 分钟前
nginx的使用
java·运维·服务器·前端·git·nginx·github
一只fish42 分钟前
MySQL 8.0 OCP 1Z0-908 题目解析(16)
数据库·mysql
Zz_waiting.44 分钟前
Javaweb - 10.4 ServletConfig 和 ServletContext
java·开发语言·前端·servlet·servletconfig·servletcontext·域对象
全栈凯哥1 小时前
02.SpringBoot常用Utils工具类详解
java·spring boot·后端
兮动人1 小时前
获取终端外网IP地址
java·网络·网络协议·tcp/ip·获取终端外网ip地址
呆呆的小鳄鱼1 小时前
cin,cin.get()等异同点[面试题系列]
java·算法·面试
独立开阀者_FwtCoder1 小时前
"页面白屏了?别慌!前端工程师必备的排查技巧和面试攻略"
java·前端·javascript