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

相关推荐
l1t7 分钟前
PostgreSQL的jsonb_object_agg函数的两种用法
数据库·postgresql
brave_zhao13 分钟前
关于javafx下打开postman无法正常关闭postman的问题
java·测试工具·postman
攻心的子乐16 分钟前
Spring IOC 源码
java·后端·spring
Sirens.17 分钟前
Java异常处理解析:从防御式编程到自定义异常类
java·开发语言·笔记·学习·github·javac
小蜗牛的路19 分钟前
docker MySQL容器导入sql文件
sql·mysql·docker
千寻技术帮27 分钟前
10351_基于Springboot的二手交易平台
java·spring boot·mysql·毕业设计·源码·代码·二手交易
CC.GG28 分钟前
【Qt】常用控件----显示类控件(QLabel、QLCDNumber、QProgressBar、QCalendarWidget)
开发语言·数据库·qt
alonewolf_9938 分钟前
Spring依赖注入源码深度解析:从@Autowired到@Resource的完整实现机制
java·后端·spring
雪碧聊技术44 分钟前
如何界定人工智能和java开发二者的关系?
java·人工智能·二者关系界定