SQL 笔试题

简介: 一个笔试题: sql语句的问题 SQL> select * from test2;         J          F---------- ----------         3          5         4          5  ...

一个笔试题:

sql语句的问题

SQL> select * from test2;

         J          F
---------- ----------
         3          5
         4          5
         5          5

SQL> select * from test3;

         K          Y
---------- ----------
         5          0
         6          0
我需要得到的结果是

         DD         F             Y
---------- ----------   ----------
         3          5
         4          5
         5          5             0
         6                         0

 

 

SQL> insert into test2  values (3,5);
已创建 1 行。
SQL> insert into test2  values (4,5);
已创建 1 行。
SQL> insert into test2  values (5,5);
已创建 1 行。
SQL> create table test3 (k number,y number);

表已创建。
SQL> select * from test2;
         J          F                                                          
---------- ----------                                                          
         3          5                                                          
         4          5                                                          
         5          5                                                          

SQL> insert into test3  values (5,0);
已创建 1 行。
SQL> insert into test3  values (6,0);
已创建 1 行。
SQL> select * from test3;
         K          Y                                                          
---------- ----------                                                          
         5          0                                                          
         6          0                                                          

SQL> commit;
提交完成。

-------------错解------------
----使用union
SQL> select j DD,f,to_number(null) from test2
  2  union
  3  select k  ,to_number(null),y from test3;

        DD          F TO_NUMBER(NULL)                                          
---------- ---------- ---------------                                          
         3          5                                                          
         4          5                                                          
         5          5                                                          
         5                          0                                          
         6                          0                                         

-------------使用union all
SQL> select j DD,f,to_number(null) y from test2
  2  union all
  3  select k  ,to_number(null),y from test3;

        DD          F          Y                                               
---------- ---------- ----------                                               
         3          5                                                          
         4          5                                                          
         5          5                                                          
         5                     0                                               
         6                     0         

题目的意思是按test2.j=test3.k做full join
我写的肯定结果一样,因为没有重复行
                                       
 ------------正解-----------

SQL> select nvl(j,k) DD ,f,y from test2 full join test3 on j=k;
        DD          F          Y                                               
---------- ---------- ----------                                               
         3          5                                                          
         4          5                                                          
         5          5          0                                               
         6                      0
                                               
-------------------------------------

select dd,max(f),max(y)
from
(select j DD,f,to_number(null) y from test2
union
select k  ,to_number(null),y from test3)
group by dd;-------------风铃中の鬼提供!

-

目录
相关文章
|
SQL 人工智能 运维
运维面试,遇到的SQL笔试题
运维面试,遇到的SQL笔试题
163 2
|
SQL 数据库
SQL|数据科学岗位的一道基础笔试题
SQL|数据科学岗位的一道基础笔试题
108 0
|
SQL Oracle 关系型数据库
SqlServer 常见SQL笔试题之语句操作题详解2
SqlServer 常见SQL笔试题之语句操作题详解2
167 0
|
SQL C# 数据库
SqlServer 常见SQL笔试题之语句操作题详解1
SqlServer 常见SQL笔试题之语句操作题详解1
139 0
|
SQL 测试技术 数据库
新题速看!2021阿里、字节都在问的SQL数据库笔试题及答案都给你整理好啦!
2021到了最后一个月份,年后肯定有蛮多小伙伴需要跳槽换工作,但对于年限稍短的软件测试工程师,难免会需要进行笔试,而在笔试中,基本都会碰到一道关于数据库的大题,今天这篇文章呢,就收录了下最近一些数据库笔试真题,包含答案!
新题速看!2021阿里、字节都在问的SQL数据库笔试题及答案都给你整理好啦!
|
SQL Oracle 关系型数据库
Oracle最新的Sql笔试题及答案
Oracle最新的Sql笔试题及答案
Oracle最新的Sql笔试题及答案
|
2月前
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
60 13
|
2月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
|
2月前
|
SQL 存储 网络安全
关系数据库SQLserver 安装 SQL Server
【7月更文挑战第26天】
44 6
|
1月前
|
SQL 安全 Java
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client
154 0