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

相关推荐
就是有点傻5 分钟前
C#如何实现中英文快速切换
数据库·c#
KiddoStone8 分钟前
多实例schedule job同步数据流的数据一致性设计和实现方案
java
岁忧30 分钟前
(LeetCode 每日一题) 1865. 找出和为指定值的下标对 (哈希表)
java·c++·算法·leetcode·go·散列表
YuTaoShao33 分钟前
【LeetCode 热题 100】240. 搜索二维矩阵 II——排除法
java·算法·leetcode
jnrjian37 分钟前
Oracle RAC环境 加错数据文件 的修复 归档非归档都没问题
sql·oracle
1024小神39 分钟前
hono框架绑定cloudflare的d1数据库操作步骤
数据库
考虑考虑1 小时前
JDK9中的dropWhile
java·后端·java ee
想躺平的咸鱼干2 小时前
Volatile解决指令重排和单例模式
java·开发语言·单例模式·线程·并发编程
hqxstudying2 小时前
java依赖注入方法
java·spring·log4j·ioc·依赖
·云扬·2 小时前
【Java源码阅读系列37】深度解读Java BufferedReader 源码
java·开发语言