真给我整无语了,数据库实验怎么这么多,要考试还要写实验。写写写,写他娘的什么东西。

实验内容





实现查询

ps:实验要求用两种方法写的我除了union都是用的两种方法写,union查了好久都查不到,或许有人知道union的平替嘛请教一下大家

  1. 创建两张表 palette_a 和 palette_b(结构相同,但表名不同,color 为颜色)
    CREATE TABLE palette_a
    (id INT PRIMARY KEY,
    color VARCHAR2(100) NOT NULL);

CREATE TABLE palette_b
(id INT PRIMARY KEY,
color VARCHAR2(100) NOT NULL);
创建表:

  1. 为表 palette_a 添加样例数据:{(1, ‘Red’), (2, ‘Green’), (3, ‘Blue’), (4, ‘Purple’)}。
    Insert into palette_a(id,color) values(1, ‘Red’), (2, ‘Green’), (3, ‘Blue’), (4, ‘Purple’);

  2. 为表 palette_b 添加样例数据:{(1, ‘Green’), (2, ‘Red’), (3, ‘Cyan’), (4, ‘Brown’)}。
    Insert into palette_b(id,color) values(1, ‘Green’), (2, ‘Red’), (3, ‘Cyan’), (4, ‘Brown’);

  3. 查询两张表中相同颜色的所有信息。
    SELECT * FROM palette_b inner JOIN palette_a ON palette_a.color= palette_b.color;

  4. 查询 palette_a 表中颜色不出现在 palette_b 表中的两张表的 id 和颜色(用左外连接)。
    SELECT * FROM palette_a LEFT OUTER JOIN palette_b ON palette_a.color= palette_b.color;

  5. 查询 palette_b 表中颜色不出现在 palette_a 表中的两张表的 id 和颜色(用右外连接)。
    SELECT * FROM palette_b RIGHT OUTER JOIN palette_a ON palette_a.color= palette_b.color;

7.查询(5)或(6)两种情况的信息(用(全)外连接)。
SELECT * FROM palette_a FULL OUTER JOIN palette_b ON palette_a.color= palette_b.color;

8查询产品表 products 中的 product_id, product_name, list_price 信息,要求产品定价 list_price 大于 其平均定价 list_price。
Select product_id,product_name,list_price from products where list_price>(select avg(list_price) from products);

9.查询产品表 products 中最便宜产品的 product_id, product_name, list_price。
Select product_id,product_name,list_price from products where list_price=(select min(list_price) from products);
10.查询没有一个订单的顾客姓名。 实现要求:NOT IN(必须)+其它查询方法(如果找到)
Select name from customers where customer_id not in (select customer_id from orders);

其他方法:
Select name from customers where customer_id !=all (select customer_id from orders);

11.查询产品表 products 中产品的 product_id, product_name, list_price,要求产品定价 list_price 大于 其同类产品(可由 category_id 表达)的平均定价。 实现要求:相关子查询(必须)+基于派生表的查询(如果找到)
相关子查询
Select product_id,product_name,list_price from products p1 where list_price>(select avg(list_price) from products p2 where p1.category_id=p2.category_id);

基于派生表的:
Select product_id,product_name,list_price from products p1,(select category_id,avg(list_price) avg_price from products group by category_id) p2 where p1.category_id=p2.category_id and p1.list_price>p2.avg_price;

12.查询有订单 order 的所有顾客 customer 姓名(查询涉及 customers 表和 orders 表)。 实现要求:使用 EXISTS(必须)+其它查询方法(如果找到)
Select name from customers where exists (select customer_id from orders where orders.customer_id=customers.customer_id);

13.执行以下两条语句,观察有何不同,能否得出某些初步结论?
In 不对Null进行处理
Customer_id为NULL的

显示全部信息
Select null from customers 返回true

14.找出所有没有订单的顾客姓名(查询涉及 customers 表和 orders 表)。 实现要求:使用 NOT EXISTS(必须)+其它查询方法(如果找到)
Select name from customers where not exists (select *from orders where customers.customer_id=orders.customer_id);

Select name from customers where customer_id not in (select customer_id from orders);

15.查询产品表 products 中的产品名 product_name 和定价 list_price,要求其定价高于产品种类 1 中 的任何产品定价。 实现要求:ANY(必须)+其它查询方法(如果找到)
Select product_name,list_price from products where list_price>any(select list_price from products p where p.category_id=1 );

Select product_name,list_price from products where list_price>(select min(list_price) from products p where p.category_id=1);

16.查询产品表 products 中的产品名 product_name 和定价 list_price,要求其定价高于产品种类 1 中 的所有定价。
Select product_name,list_price from products where list_price>all(select list_price from products where products.category_id=1);

17.查询产品表 products 中的产品名 product_name 和定价 list_price,要求其定价低于产品种类的所 有平均定价。
实现要求:ALL(必须)+其它查询方法(如果找到)
Select product_name,list_price from products where list_price<all(select avg(list_price) from products);

Select product_name,list_price from products where list_price<(select max(list_price)from products);

18.查询 contacts 表和 employees 表中的所有 last_name,并以 last_name 升序显示。 实现要求:去重+UNION(必须)+其它查询方法(如果找到)
Select last_name from contacts union Select last_name from employees;

19.查询 contacts 表和 employees 表中的所有 last_name,并以 last_name 升序显示。 实现要求:保留重复+UNION ALL(必须)+其它查询方法(如果找到)
Select last_name from contacts union all Select last_name from employees order by last_name asc;

20.查询同时出现在 contacts 表和 employees 表中的所有 last_name。 实现要求:INTERSECT(必须)+其它查询方法(如果找到)
Select last_name from contacts intersect Select last_name from employees;

Select contacts.last_name from contacts,employees where contacts.last_name=employees.last_name group by contacts.last_name,employees.last_name having count(*)=1;

21.查询在产品表 products 中而不在库存表 inventories 中的产品号 product_id。 实现要求:MINUS/EXCEPT(必须)+其它查询方法(如果找到)
Select product_id from products minus select product_id from inventories;

Select product_id from products except select product_id from inventories;

Select product_id from products where products.product_id not in (select product_id from inventories);

数据库实验四:数据高级查询相关推荐

  1. MySQL数据库实验二 数据基本查询

    ★观前提示:本篇内容为mysql数据库实验,代码内容经测试过,可能一小部分有所疏漏,也有会不符合每个人实验的要求的地方,因此以下内容建议仅做思路参考,. 一.实验目的 1.掌握SQL查询语句的一般格式 ...

  2. MySQL实验四数据库的查询_MySQL数据库实验四:嵌套查询

    实验四          嵌套查询 一.实验目的 掌握SELECT语句的嵌套使用,实现表的复杂查询,进一步理解SELECT语句的高级使用方法. 二.实验环境 三.实验示例 1.  查询与"刘 ...

  3. 实验四 数据查询——简单查询 Sql Server数据库实验

    实验四  数据查询--简单查询   一.实验目的 1.掌握SQL查询语句的基本概念  2.掌握SQLServer查询语句的基本语法 3.熟练使用SQL的Select语句对单表进行查询 4.熟练掌握并运 ...

  4. mysql实验四图书视图_[数据库实验四.doc

    [数据库实验四 计算机与信息学院实验报告 系: 专业: 年级: 姓名: 学号: 22 实验室号 计算机号 22 实验时间: 2013年10月29日 指导教师签字: 成绩: 报告退发 (订正 . 重做) ...

  5. [Qt教程] 第24篇 数据库(四)SQL查询模型QSqlQueryModel

    [Qt教程] 第24篇 数据库(四)SQL查询模型QSqlQueryModel 楼主  发表于 2013-5-21 14:33:47 | 查看: 869| 回复: 1 SQL查询模型QSqlQuery ...

  6. oracle 窗口函数查询条件,62.Oracle数据库SQL开发之 高级查询——使用分析函数之窗口函数...

    62.Oracle数据库SQL开发之 高级查询--使用分析函数之窗口函数 窗口函数可以计算一定的记录范围内.一定值域内.或者一段时间内的累积和以及移动平均值.查询返回一组记录,称为结果集.窗口这个术语 ...

  7. 太原理工大学软件学院数据库实验四(2021.4.26)

    太原理工大学软件学院数据库实验四(2021.4.26) -- (1)创建Student 表 CREATE TABLE Student ( Sno CHAR(8) PRIMARY KEY, Sname ...

  8. 线性回归中oracle性质,66.Oracle数据库SQL开发之 高级查询——使用线性回归函数...

    66.Oracle数据库SQL开发之 高级查询--使用线性回归函数 线性回归函数可以用普通最小平方回归曲线拟合一组数值对.线性回归函数可用于聚合.串口或报表函数. 如下图1: 例如: store@PD ...

  9. oracle报表查询sql,63.Oracle数据库SQL开发之 高级查询——使用报表函数

    63.Oracle数据库SQL开发之 高级查询--使用报表函数 报表函数可用于执行跨越分组和组内分区的计算. 报表计算:SUM,AVG,MAX,MIN,COUNT,VARIANCE,STDDEV.可以 ...

  10. 南航计算机硬件实验,南航计硬实验四数据块移动实验报告.doc

    南航计硬实验四数据块移动实验报告 电工电子实验中心 课程名称: 计算机硬件技术基础实验 实验名称: 实验四 数据块移动 姓名: 学号: 评定成绩: 审阅教师: 实验时间: 2020.5.7 南京航空航 ...

最新文章

  1. [学习笔记]几个英语短句(1)
  2. 未在本地计算机上注册Microsoft.Jet.OLEDB.4.0解决方案
  3. vb.net 同时给多个属性赋值_Python尚学堂高淇|1721时间表示unix时间点毫秒微秒time模块浮点数自动转换强制转换增强赋值运算符...
  4. Altium Designer20原理图库放置引脚报错解决方案
  5. oracle里面的锁,基于oracle中锁的深入理解
  6. 使用JDBC编程的问题总结
  7. 服务器操作系统详解,深入解析Windows操作系统之总体架构
  8. Play 2.6 异步处理结果
  9. 国产操作系统盘点(2)——统信UOS & 深度Deepin
  10. pytest官方文档 6.2 中文翻译版(第十章):警告捕捉
  11. 游戏中掉落效果的实现
  12. vue 图片 404 显示默认图片
  13. 从零开始搭建仿抖音短视频APP-开发用户业务模块(3)
  14. html 自动填充缓存,禁止input密码自动填充及浏览器缓存密码账号解决方案
  15. iframe(标签的使用)
  16. Comparator.comparing嵌套对象倒序以及多重条件排序
  17. IT项目管理:讨论 projects、programs、和 portfolio 之间的关系
  18. Arduino与Proteus仿真实例-光线传感器(LDR)驱动仿真
  19. VS2015程序工程的ICO图标研究
  20. 爬虫--西安二手房房价

热门文章

  1. 学测绘和计算机,测绘工程就业方向与前景 女生学测绘好找工作吗
  2. 零基础学爬虫大概多久?
  3. R语言 substitute
  4. Clojure极简教程
  5. 【便签纸】记录一次Linux服务器上通过sftp上传文件时的错误
  6. Win10登录界面隐藏其他账户
  7. 利用360安全卫士的“网络连接查看器”获取网络游戏的服务器IP地址
  8. 移动 PC 的数据加密工具包 - 安全分析
  9. (详细)解决hive报错FAILED: SemanticException Cartesian products are disabled for safety的问题
  10. SDN 交换机迁移1