SQL--数据查询

article/2025/10/23 0:31:19

特别提示:图片有水印,请不要直接使用 

 pcshop——Oracle版本

CREATE TABLE customers (
customer_id varchar2(10) NOT NULL,
firstname varchar2(32) default NULL,
lastname varchar2(32) default NULL,
city varchar2(32) default NULL,
address varchar2(128) default NULL,
email varchar2(128) default NULL,
PRIMARY KEY (customer_id),
UNIQUE(email)
) ;
INSERT INTO customers (customer_id, firstname, lastname, city, address, email) VALUES
('1122334455', 'Ann', 'O''Brien', 'Dublin', '1 Jervis St.', 'aob@ul.ie');
INSERT INTO customers (customer_id, firstname, lastname, city, address, email) VALUES ('1231231231', 'John', 'Doe', 'Limerick', NULL, NULL);
INSERT INTO customers (customer_id, firstname, lastname, city, address, email) VALUES ('1234567890', 'Paul', 'Murphy', 'Cork', '20 O Connell St.', NULL);
INSERT INTO customers (customer_id, firstname, lastname, city, address, email) VALUES ('9876543210', 'Jack', 'Murphy', 'Galway', '101 O Connell St.', 'jm@ul.ie');
CREATE TABLE laptops (
model char(4) NOT NULL ,
speed float,
ram int,
hd int,
screen float,
price float,
PRIMARY KEY (model)
) ;INSERT INTO laptops (model, speed, ram, hd, screen, price) VALUES('2001', 2, 2048, 240, 20.1, 3673);
INSERT INTO laptops (model, speed, ram, hd, screen, price) VALUES ('2002', 1.73, 1024, 80, 17, 949);
INSERT INTO laptops (model, speed, ram, hd, screen, price) VALUES ('2003', 1.8, 512, 60, 15.4, 549);
INSERT INTO laptops (model, speed, ram, hd, screen, price) VALUES ('2004', 2, 512, 60, 13.3, 1150);
INSERT INTO laptops (model, speed, ram, hd, screen, price) VALUES ('2005', 2.16, 1024, 120, 17, 2500);
INSERT INTO laptops (model, speed, ram, hd, screen, price) VALUES ('2006', 2, 2048, 80, 15.4, 1700);
INSERT INTO laptops (model, speed, ram, hd, screen, price) VALUES ('2007', 1.83, 1024, 120, 13.3, 1429);
INSERT INTO laptops (model, speed, ram, hd, screen, price) VALUES ('2008', 1.6, 1024, 100, 15.4, 900);
INSERT INTO laptops (model, speed, ram, hd, screen, price) VALUES ('2009', 1.6, 512, 80, 14.1, 680);
INSERT INTO laptops (model, speed, ram, hd, screen, price) VALUES ('2010', 2, 2048, 160, 15.4, 2300);CREATE TABLE pcs (
model char(4) NOT NULL,
speed float NOT NULL,
ram int NOT NULL,
hd int NOT NULL,
price float NOT NULL,
PRIMARY KEY (model)
) ;INSERT INTO pcs (model, speed, ram, hd, price) VALUES('1001', 2.66, 1024, 250, 2114);
INSERT INTO pcs (model, speed, ram, hd, price) VALUES ('1002', 2.1, 512, 250, 995);
INSERT INTO pcs (model, speed, ram, hd, price) VALUES ('1003', 1.42, 512, 80, 478);
INSERT INTO pcs (model, speed, ram, hd, price) VALUES ('1004', 2.8, 1024, 250, 649);
INSERT INTO pcs (model, speed, ram, hd, price) VALUES ('1005', 3.2, 512, 250, 630);
INSERT INTO pcs (model, speed, ram, hd, price) VALUES ('1006', 3.2, 1024, 320, 1049);
INSERT INTO pcs (model, speed, ram, hd, price) VALUES ('1007', 2.2, 1024, 200, 510);
INSERT INTO pcs (model, speed, ram, hd, price) VALUES ('1008', 2.2, 2048, 250, 770);
INSERT INTO pcs (model, speed, ram, hd, price) VALUES ('1009', 2, 1024, 250, 650);
INSERT INTO pcs (model, speed, ram, hd, price) VALUES ('1010', 2.8, 2048, 300, 770);
INSERT INTO pcs (model, speed, ram, hd, price) VALUES ('1011', 1.86, 2048, 160, 959);
INSERT INTO pcs (model, speed, ram, hd, price) VALUES ('1012', 2.8, 1024, 160, 649);
INSERT INTO pcs (model, speed, ram, hd, price) VALUES ('1013', 3.06, 512, 80, 529);CREATE TABLE printers (
model char(4) NOT NULL ,
color varchar2(5),
ptype varchar2(10) ,
price float ,
PRIMARY KEY (model)
) ;INSERT INTO printers (model, color, ptype, price) VALUES('3001', 'TRUE', 'ink-jet', 99);
INSERT INTO printers (model, color, ptype, price) VALUES ('3002', 'FALSE', 'laser', 239);
INSERT INTO printers (model, color, ptype, price) VALUES ('3003', 'TRUE', 'laser', 899);
INSERT INTO printers (model, color, ptype, price) VALUES ('3004', 'TRUE', 'ink-jet', 120);
INSERT INTO printers (model, color, ptype, price) VALUES ('3005', 'FALSE', 'laser', 120);
INSERT INTO printers (model, color, ptype, price) VALUES ('3006', 'TRUE', 'ink-jet', 100);
INSERT INTO printers (model, color, ptype, price) VALUES ('3007', 'TRUE', 'laser', 200);CREATE TABLE products (
maker char(1) ,
model char(4) NOT NULL ,
ptype varchar2(10) ,
PRIMARY KEY (model)
) ;
INSERT INTO products (maker, model, ptype) VALUES('A', '1001', 'pc');
INSERT INTO products (maker, model, ptype) VALUES('A', '1002', 'pc');
INSERT INTO products (maker, model, ptype) VALUES('A', '1003', 'pc');
INSERT INTO products (maker, model, ptype) VALUES('B', '1004', 'pc');
INSERT INTO products (maker, model, ptype) VALUES('B', '1005', 'pc');
INSERT INTO products (maker, model, ptype) VALUES('B', '1006', 'pc');
INSERT INTO products (maker, model, ptype) VALUES('C', '1007', 'pc');
INSERT INTO products (maker, model, ptype) VALUES('D', '1008', 'pc');
INSERT INTO products (maker, model, ptype) VALUES('D', '1009', 'pc');
INSERT INTO products (maker, model, ptype) VALUES('D', '1010', 'pc');
INSERT INTO products (maker, model, ptype) VALUES('E', '1011', 'pc');
INSERT INTO products (maker, model, ptype) VALUES('E', '1012', 'pc');
INSERT INTO products (maker, model, ptype) VALUES('E', '1013', 'pc');
INSERT INTO products (maker, model, ptype) VALUES('E', '2001', 'laptop');
INSERT INTO products (maker, model, ptype) VALUES('E', '2002', 'laptop');
INSERT INTO products (maker, model, ptype) VALUES('E', '2003', 'laptop');
INSERT INTO products (maker, model, ptype) VALUES('A', '2004', 'laptop');
INSERT INTO products (maker, model, ptype) VALUES('A', '2005', 'laptop');
INSERT INTO products (maker, model, ptype) VALUES('A', '2006', 'laptop');
INSERT INTO products (maker, model, ptype) VALUES('B', '2007', 'laptop');
INSERT INTO products (maker, model, ptype) VALUES('F', '2008', 'laptop');
INSERT INTO products (maker, model, ptype) VALUES('F', '2009', 'laptop');
INSERT INTO products (maker, model, ptype) VALUES('G', '2010', 'laptop');
INSERT INTO products (maker, model, ptype) VALUES('E', '3001', 'printer');
INSERT INTO products (maker, model, ptype) VALUES('E', '3002', 'printer');
INSERT INTO products (maker, model, ptype) VALUES('E', '3003', 'printer');
INSERT INTO products (maker, model, ptype) VALUES('D', '3004', 'printer');
INSERT INTO products (maker, model, ptype) VALUES('D', '3005', 'printer');
INSERT INTO products (maker, model, ptype) VALUES('H', '3006', 'printer');
INSERT INTO products (maker, model, ptype) VALUES('H', '3007', 'printer');CREATE TABLE sales (
customer_id varchar2(10) NOT NULL ,
model char(4) NOT NULL ,
quantity int ,
sday date NOT NULL ,
paid float ,
type_of_payment varchar2(32),
PRIMARY KEY (customer_id,model,sday)
) ;INSERT INTO sales (customer_id, model, quantity, sday, paid, type_of_payment) VALUES ('1122334455', '2010', 1, to_date('2013-12-19','yyyy-MM-dd'), 2300, 'mastercard credit');
INSERT INTO sales (customer_id, model, quantity, sday, paid, type_of_payment) VALUES ('1122334455', '3001', 1, to_date('2013-12-18','yyyy-MM-dd'), 99, 'cash');
INSERT INTO sales (customer_id, model, quantity, sday, paid, type_of_payment) VALUES ('1231231231', '2002', 2, to_date('2013-12-19','yyyy-MM-dd'), 1898, 'visa credit');
INSERT INTO sales (customer_id, model, quantity, sday, paid, type_of_payment) VALUES ('1231231231', '3002', 1, to_date('2013-12-18','yyyy-MM-dd'), 239, 'cash');
INSERT INTO sales (customer_id, model, quantity, sday, paid, type_of_payment) VALUES ('1234567890', '1001', 1, to_date('2013-12-20','yyyy-MM-dd'), 1902.6, 'mastercard credit');
INSERT INTO sales (customer_id, model, quantity, sday, paid, type_of_payment) VALUES ('9876543210', '1007', 1, to_date('2013-12-17','yyyy-MM-dd'), 510, 'visa debit');
INSERT INTO sales (customer_id, model, quantity, sday, paid, type_of_payment) VALUES ('9876543210', '1007', 3, to_date('2013-12-19','yyyy-MM-dd'), 1530, 'visa debit');
INSERT INTO sales (customer_id, model, quantity, sday, paid, type_of_payment) VALUES ('9876543210', '2002', 1, to_date('2013-12-17','yyyy-MM-dd'), 949, 'visa debit');
INSERT INTO sales (customer_id, model, quantity, sday, paid, type_of_payment) VALUES ('9999999999', '1007', 1, to_date('2013-12-20','yyyy-MM-dd'), 459, 'visa credit');
INSERT INTO sales (customer_id, model, quantity, sday, paid, type_of_payment) VALUES ('9999999999', '3007', 2, to_date('2013-12-20','yyyy-MM-dd'), 360, 'visa credit');

表结构如下:

  • products(maker, model, type) 供应商信息表,maker,model,type取值为PC,Laptop,Printer
  • pcs(model, speed, ram, hd, price) 电脑信息表
  • laptops(model, speed, ram, hd, screen, price) 笔记本电脑信息表
  • printers(model, color, type, price) 打印机信息表
  • customers(customer_id, firstname, lastname, city, address, email) 顾客信息表
  • sales(customer_idmodel, quantity, day, paid, type_of_payment)销售记录表

--单表查询,最简单的查询

1、进行单表查询
1)查询所有speed大于2.8的PC信息

2)查询购买model为1007的购买记录信息

3)统计2013-12-20购买记录的数量(count)
聚集函数

4)统计2013-12-20购买的总数量(sum)

5)查询硬盘大小出现在两种以上PC电脑上的硬盘大小

Find those hard-disk sizes that occur in two or more PCs


6) 查询速度至少3.00以上的PC models信息

--连接查询 嵌套查询

7)查询哪个供应商供应laptops硬盘至少100GB以上的供应商信息

 Which makers make laptops with a hard disk of at least 100 GB

--1、做等值连接

--2、自然连接(natural join)

--3、内连接

--4、自然连接(join using)

--5、子查询实现
--不相关子查询(子查询的SQL语句可以单独执行)

--相关子查询(子查询的SQL语句不能够单独执行,
必须嵌在父查询中,作为父查询的条件执行)

--所有子查询都可以写成相关子查询
--有些相关子查询可以用不相关子查询来代替
--所有不相关子查询都可以用相关子查询来代替


8) 查询供应商B所提供的所有产品的产品编号和产品价格。

Find the model number and price of all products (of any type) made by maker B


9)查找所有的彩色打印机的model numbers。

Find the model numbers of all color laser printers


10)查找供应laptops但不供应pc的供应商信息。

 Find those makers that sell Laptops but not PCs

 

11) 查询具有相同运行速度和内存的PC电脑编号对

每个pc models对只出现一次,即 (i, j)出现,则 (j, i)不出现

Find those pairs of PC models that have both the same speed and ram.
A pair should be listed only once; e.g., list (i, j) but not (j, i).
--典型的表的自身连接查询

12) 查询销售三种不同型号PC电脑的供应商

Find the makers who sell exactly three different models of PC

 

13) 查询至少提供3种PC运行速度的供应商

Find the makers of PCs with at least three different speeds


14) 查询提供的PC或laptop运行速度至少是2.80且有两种以上产品的供应商

Find those makers of at least two different computers (PCs or laptops)
with speeds of at least 2.80
--想让大家用视图解决问题
--from子句中应用别名方式给子查询命名名称也可以


15) 查询提供的电脑(PC or laptop)具有最高运行速度的供应商

Find the maker(s) of the computer
(PC or laptop) with the highest available speed

--想让大家用视图解决问题


http://chatgpt.dhexx.cn/article/XjyiuYAv.shtml

相关文章

SQL查询优化

SQL查询优化 一、获取有性能问题SQL的三种方法 通过用户反馈获取存在性能问题的SQL 通过慢查询日志获取存在性能问题的SQL 实时获取存在性能问题的SQL 二、慢查询日志介绍 1、使用慢查询日志获取有性能问题的SQL (1) 参数配置 slow_query_log 启动停止记录慢查询日志 .…

sql查询排序

查询排序 如果需要针对查询后的结果,按照指定的数据列进行排序操作,就必须使用ORDER BY 默认排序:按照数据的插入顺序。 select * from emp;观察 语法格式 【3控制要显示的数据列】SELECT[DISTINCT]*|列名称[别名],列名称[别名…

SQL 查询数据

数据库表是存储数据库中所有数据的对象。 在表中,数据按行和列格式逻辑组织,类似于电子表格 (Excel) 在表中,每行代表一个唯一记录,每列代表记录中的一个字段。 例如, SC表包含学生成绩数据,如学生标识号&a…

SQL之查询

因为同一SQL语句,不同厂商有不同的实现方式,因此同一SQL语句不一定在所有的数据库编辑器上能够正确运行,这里采用的是华为的openGauss。 基本格式为: SELECT desired attributes FROM one or more tables WHERE condition about…

SQL查询与操作

1.单表查询 SQL 数据查询主要由 SELECT 语句完成,SELECT 语句是SQL 的核心。单表查询就是利用 SELECT语句仅从一个表/视图中查询数据。其语法如下: SELECT [DISTINCT]*{ 字段名 1,字段名 2, 字段名 3,… FROM 表名 [WHERE 条件表达式 1] [GR…

sql的查询

sql的查询 (1)什么是排序 order by(2)如何排序 》》数据库的查询(排序:order by) SELECT * FROM 表名 ORDER BY 排序字段 ASC(升序)|DESC(降序);(3)特点 指定列 指定升序或者降序 order by 排序只对数字和…

SQL 数据查询

前言,数据库中有5个表,student,sc,course,tc,teacher;(sql server里面不区分大小写) student sc tc course teacher 1. 查询软件工程学院(SE)学生的学…

SQL数据查询

目录 1、求各系学生的平均成绩,并把结果存入新建的数据库表中(请自己创建一个表存放结果) 2、统计每门课程的选修学生人数及各门课程的平均成绩 3、找出各系年龄最大的学生,显示其学号、姓名;(利用相关子…

数据库:SQL数据查询(详细、全面)

以下题目中加粗字体为重点哦~ 一、查询指定列、全部列 1.查询全体学生的学号和姓名 SELECT SNO, SN FROM S 2.查询全部列 SELECT * FROM S 二、查询经过计算的值 3. 查询全体学生的姓名、出生年份 SELECT SN, 2020-AGE FROM S 4. 查村全体学生的姓名、出生年份和系名&#xff…

2022留学生落户上海成本大概是怎样的?

现在留学生落户上海整体来说除了对于社保没有要求的落户方式,那么对于普通的留学生落户来说,就得有社保和个税的要求了,那么这里面的成本是有多少呢,下面来看看这里面的情况: 留学生落户上海根据判断自己的社保基数及累…

非上海户籍人员在上海买房需要啥条件?

和你一起终身学习,这里是程序员Android 非沪籍想在上海买房说实话有点难,毕竟每平米大几万的房价不是盖的,既然您点进来看了,说明你有这个想法,有想法就行,虽然我们不一定能买得起,但不能阻挡我…

上海落户计算机水平毕业研究生,2021上海积分落户应届毕业生直接落户上海

原标题:2021上海积分落户应届毕业生直接落户上海 ——上海落户积分120分,不是研究生毕业就有100分吗?研究生毕业就有100分,正常读书年龄肯定很小就有30分了啊,不是直接就可以落户了吗?为什么大家都在说很难…

上海居住证转户口证攻略

2019独角兽企业重金招聘Python工程师标准>>> 一、居转户条件: 1.居住证满7年,社保满7年,税单满7年 2.最近3年连续社保是上海平均值2倍以上(或者具备中级以上职称) 3.自有产权房 二、居转户材料&#x…

2019非上海生源高校应届生落户指南

流程 一、计算积分基本要素导向要素用人单位要素 二、准备申请材料三、审核--证明信四、证明信-个人户口本落户社区公共户落户家庭户或者单位集体户口落户家庭户落户单位集体户口 博主从五月份准备落户申请材料,到十月中旬拿到上海个人户口本,历时五个月…

上海程序员落户攻略

上海居住证落户简称 “居转户” , 本文主要写给在上海打拼的程序员们,告诉大家比写代码更重要的一件事情是落户。讲述一些关于上海居住证落户的一些政策和一些建议。 很多人以为居转户,只要上海居住证满7年就可以转了,殊不知&…

上海落户计算机水平毕业研究生,2020年上海落户有哪些新规定?附研究生落户分值表!...

相信对于不少的年轻人来说,上海都是他们向往的城市,很多毕业生都在毕业后都希望可以留在上海,如果能够落户就再好不过了。下面小编就给大家说说2020年上海落户有哪些新规定,研究生如何落户,想了解的快来看看吧。 一、2…

2017年上海最新落户政策重磅出炉!你达标了吗?(明年就毕业了希望一切顺利)

2017年最新非上海户籍的应届毕业生落户标准公布, 应届毕业生落户标准分为72分! 具体申请可根据2017《上海市居住证》和 居住证积分指南、申请本市户籍办法。 想想当初选择来魔都读书生活, 每天起早贪黑究竟为了什么? 很多人的“小…

【个人亲历】上海市人才引进落户最详细的流程记录说明

目录 一、材料准备 二、网上审核 2.1、预审上报 2.2、线下提供证明材料 2.3、初审、审核 2.4、公示 三、落户证明领取和准迁证查询 3.1、线下领取落户证明 3.2、准迁证查询 附:应用汇总: 从2022年6月领导通知我够资格人才引进落户以及2022…

2022留学生落户上海怎么办理社区公共户?

很多留学生会担心的一个问题是个人和直系亲属在沪无房产,且单位也无集体户怎么办呢? 其实无须担心,这种情况下可以按公安机关规定申请挂靠 社区公共户!简单而言 ,就是租房在哪,就落户在相应的派出所。 落户通过后,留…

重磅!上海出落户新政:双一流应届硕士可直接落户!

点击上方“3D视觉工坊”,选择“星标” 干货第一时间送达 编辑丨科研大匠 9月23日,据上海学生就业创业服务网,上海市高校招生和就业工作联席会议制定的《2020年非上海生源应届普通高校毕业生进沪就业申请本市户籍评分办法》(以下简…