零基础快速自学SQL,1天足矣

1226楼
发表于 2018-12-24 01:04:07
27.        检索出向艾德高科技提供产品的供应商所在的城市。

select DM1.公司名称 as 客户,DM2.产品名称,DM3.公司名称 as 供应商,DM3.城市
from 订单 FT1 join 订单明细 FT2 on FT1.订单ID=FT2.订单ID
join 客户 DM1 on FT1.客户ID=DM1.客户ID and DM1.公司名称='艾德高科技'
join 产品 DM2 on FT2.产品ID=DM2.产品ID
join 供应商 DM3 on DM2.供应商ID=DM3.供应商ID
1227楼
发表于 2018-12-24 01:15:09
28.        计算每一笔订单的发货期(从订购到发货),运货期(从发货到到货)的时常,并按照发货期从长到短的顺序进行排序。

select 订单ID,订购日期,发货日期,到货日期, datediff(发货日期,订购日期) as 发货期, datediff(到货日期,发货日期) as 运货期
from 订单
order by 5 desc
1228楼
发表于 2018-12-24 01:18:50
@传说哥
29.        将产品表和运货商两个无关的表整合为一个表

请问上面这道题目的SQL语句,应该怎么写?
我看着,是懵的。
1229楼
发表于 2018-12-24 01:32:01
30.        获取在北京工作并向福星制衣厂股份有限公司发送过订单的职工名称。

select DISTINCT DM1.公司名称 as 客户,concat(DM2.姓氏,DM2.名字) as 职工名称
from 订单 FT1 join 客户 DM1 ON FT1.客户ID=DM1.客户ID and DM1.公司名称='福星制衣厂股份有限公司'
join 雇员 DM2 on FT1.雇员ID=DM2.雇员ID and DM2.城市='北京'
1230楼
发表于 2018-12-24 15:54:51
密码- =
1231楼
发表于 2018-12-24 16:57:32
29.        将产品表和运货商两个无关的表整合为一个表

select *
from 订单 FT1 join 订单明细 FT2 on FT1.订单ID=FT2.订单ID
join 产品 DM1 on FT2.产品ID=DM1.产品ID
join 运货商 DM2 on FT1.运货商=DM2.运货商ID

1232楼
发表于 2019-1-10 16:10:14
6666666666666
1233楼
发表于 2019-1-11 12:36:12
必须要求安装sql sever吗,用mysql可以吗?
1234楼
发表于 2019-1-16 10:22:09
来看看,学习一下,早日考一个资格证
1235楼
发表于 2019-1-16 15:18:42
习题已完成@传说哥
1236楼
发表于 2019-1-24 00:49:42
来自手机
老师,我到了下载试用版NavicatMYSQL可是按照你的步骤新建连接,可是出现个窗口,连不上,也不知道是下载的软件不行还是哪里问题,你有这个软件的分享吗
1237楼
发表于 2019-1-24 21:38:34
查询订购日期在1996年7月1日至1996年7月15日之间的订单的订购日期、订单ID、客户ID和雇员ID等字段的值
1238楼
发表于 2019-1-24 21:39:49
查询供应商的ID、公司名称、地区、城市和电话字段的值。条件是“地区等于华北”并且“联系人头衔等于销售代表”。
1239楼
发表于 2019-1-24 21:40:20
--查询供应商的ID、公司名称、地区、城市和电话字段的值。其中的一些供应商位于华东或华南地区,另外一些供应商所在的城市是天津
1240楼
发表于 2019-1-26 12:20:35
赞一个
1241楼
发表于 2019-1-29 09:19:45
努力钻研学习,按照进度走
1242楼
发表于 2019-1-29 14:28:05
完成之后,把word文档回复在本帖嘛
1243楼
发表于 2019-2-11 16:30:01
下载的nav是英文版的,怎么没有中文版的
1244楼
发表于 2019-2-12 14:03:09
来几个答案 可好
1245楼
发表于 2019-2-12 14:43:43
来挖坟了。。。
不知道对不对,按照教程来。
Q:查询订购日期在1996年7月1日至1996年7月15日之间的订单的订购日期、订单ID、客户ID和雇员ID等字段的值
A:
SELECT
`订单`.`订购日期`,
`订单`.`订单ID`,
`订单`.`客户ID`,
`订单`.`雇员ID`
FROM
`订单`
WHERE
`订单`.`订购日期` BETWEEN 19960701 AND 19960715
1246楼
发表于 2019-2-14 12:50:24
多谢指点,避免了三个坑。在学习过程中下载了 SQL自学练习题(帆软社区版).zip,使用电脑上之前安装的HeidiSQL工具连接本机mysql5.7进行的操作学习。抓紧时间,争取半天搞定。
1247楼
发表于 2019-2-14 17:02:46
作业第一部分 SQL查询语句的学习单表查询
--查询订购日期在1996年7月1日至1996年7月15日之间的订单的订购日期、订单ID、客户ID和雇员ID等字段的值
select * from `订单` where `订购日期` > "1996-07-01 00:00:00" and `订购日期` < "1996-07-15 00:00:00";
--查询供应商的ID、公司名称、地区、城市和电话字段的值。条件是“地区等于华北”并且“联系人头衔等于销售代表”。

select `供应商ID`,`公司名称`,`地区`,`城市`,`电话` from `供应商` where `地区` = "华北" and `联系人职务` = "销售代表";
--查询供应商的ID、公司名称、地区、城市和电话字段的值。其中的一些供应商位于华东或华南地区,另外一些供应商所在的城市是天津
select `供应商ID`,`公司名称`,`地区`,`城市`,`电话` from `供应商` where `地区` = "华东" or `地区` = "华南" and `城市` = "天津";
--查询位于“华东”或“华南”地区的供应商的ID、公司名称、地区、城市和电话字段的值

select `供应商ID`,`公司名称`,`地区`,`城市`,`电话` from `供应商` where `地区` = "华东" or `地区` = "华南";

多表查询
--查询订购日期在1996年7月1日至1996年7月15日之间的订单的订购日期、订单ID、相应订单的客户公司名称、负责订单的雇员的姓氏和名字等字段的值,并将查询结果按雇员的“姓氏”和“名字”字段的升序排列,“姓氏”和“名字”值相同的记录按“订单 ID”的降序排列
select a.`订购日期`,a.`订单ID`,b.`公司名称`,c.`姓氏`,c.`名字` from `订单` a ,`客户` b ,`雇员` c  where a.`客户ID` = b.`客户ID` and a.`雇员ID` = c.`雇员ID` order by c.`姓氏` ,c.`名字`,a.`订单ID` desc;
--查询“10248”和“10254”号订单的订单ID、运货商的公司名称、订单上所订购的产品的名称
select a.`订单ID`,b.`公司名称`,c.`产品名称` from `订单` a,`运货商` b, `产品` c,`订单明细` d  where a.`运货商` = b.`运货商ID` and a.`订单ID` = d.`订单ID` and d.`产品ID`=c.`产品ID` and a.`订单ID` =10248 or a.`订单ID`=10254;
--查询“10248”和“10254”号订单的订单ID、订单上所订购的产品的名称、数量、单价和折扣
select a.`订单ID`,c.`产品名称`,b.`数量`,b.`单价`,b.`折扣` from `订单` a,`订单明细` b, `产品` c where a.`订单ID` = b.`订单ID` and b.`产品ID` = c.`产品ID` and a.`订单ID`=10248 or a.`订单ID`=10254;
--查询“10248”和“10254”号订单的订单ID、订单上所订购的产品的名称及其销售金额
select a.`订单ID`,c.`产品名称`,c.`单价` from `订单` a,`订单明细` b, `产品` c where a.`订单ID` = b.`订单ID` and b.`产品ID` = c.`产品ID` and a.`订单ID`=10248 or a.`订单ID`=10254;

综合查询
--查询所有运货商的公司名称和电话
select `公司名称`,`电话` from `运货商`;

--查询所有客户的公司名称、电话、传真、地址、联系人姓名和联系人头衔
select `公司名称`,`电话`,`传真`,`地址`,`联系人姓名`,`联系人职务` from `客户`;
--查询单价介于10至30元的所有产品的产品ID、产品名称和库存量
select `产品ID`,`产品名称`,`库存量` from `产品` where `单价`>10 and `单价`<30;
--查询单价大于20元的所有产品的产品名称、单价以及供应商的公司名称、电话
select a.`产品名称`,a.`单价` ,b.`公司名称`,b.`电话` from `产品` a,`供应商` b where a.`供应商ID` = b.`供应商ID` and a.`单价`>20;
--查询上海和北京的客户在1996年订购的所有订单的订单ID、所订购的产品名称和数量
select a.`订单ID`,c.`产品名称` ,b.`数量` from `订单` a,`订单明细` b,`产品` c where a.`订单ID`=b.`订单ID` and b.`产品ID`=c.`产品ID`;
--查询华北客户的每份订单的订单ID、产品名称和销售金额
select a.`订单ID`,c.`产品名称` ,(b.`数量`*b.`单价`*(1-`折扣`)) as `销售金额` from `订单` a,`订单明细` b,`产品` c where a.`订单ID`=b.`订单ID` and b.`产品ID`=c.`产品ID`;
--按运货商公司名称,统计1997年由各个运货商承运的订单的总数量
select b.`公司名称`, count(a.`订单ID`) from `订单` a, `运货商` b where a.`运货商`=b.`运货商ID` group by a.`运货商`;
--统计1997年上半年的每份订单上所订购的产品的总数量
select b.`订单ID`, b.`数量` from `订单` a, `订单明细` b where a.`订购日期`>"1997-01-0100:00:00" and a.`订购日期`<"1997-07-0100:00:00" and a.`订单ID`=b.`订单ID`;
--统计各类产品的平均价格
select b.`类别名称`,sum(a.`单价`)/count(a.`产品ID`) as `平均价格` from `产品` a,`类别` b where a.`类别ID`=b.`类别ID` group by a.`类别ID`;

--统计各地区客户的总数量
select `地区`,count(`客户ID`) as `客户数量` from `客户` group by `地区`;


1248楼
发表于 2019-2-21 13:31:00
回帖有奖励?
1249楼
发表于 2019-2-26 11:48:33
66666
1250楼
发表于 2019-2-27 11:06:04
感谢·
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1326回帖数 45关注人数 144500浏览人数
最后回复于:2022-3-23 19:30

返回顶部 返回列表