帆软《零基础快速⾃学SQL》第⼀部分练习题及答案
(Mysql)
单表查询
--查询订购⽇期在1996年7⽉1⽇⾄1996年7⽉15⽇之间的订单的订购⽇期、订单ID、客户ID和雇员ID等字段的值
SELECT * FROM 订单
WHERE 订购⽇期 BETWEEN '1996-07-01' AND '1996-07-15';
--查询供应商的ID、公司名称、地区、城市和电话字段的值。条件是“地区等于华北”并且“联系⼈头衔等于销售代表”。SELECT
`供应商`.`供应商ID`,
`供应商`.`公司名称`,
`供应商`.`地区`,
`供应商`.`城市`,
`供应商`.`电话`
FROM
`供应商`
WHERE
`供应商`.`地区` = '华北'
AND `供应商`.`联系⼈职务` = '销售代表'
--查询供应商的ID、公司名称、地区、城市和电话字段的值。其中的⼀些供应商位于华东或华南地区,另外⼀些供应商所在的城市是天津SELECT
`供应商`.`供应商ID`,
`供应商`.`公司名称`,
`供应商`.`地区`,
`供应商`.`城市`,
`供应商`.`电话`
FROM `供应商`
WHERE `供应商`.`地区` IN ('华东','华南')
OR `供应商`.`城市` = '天津';
--查询位于“华东”或“华南”地区的供应商的ID、公司名称、地区、城市和电话字段的值
SELECT
`供应商`.`供应商ID`,
`供应商`.`公司名称`,
`供应商`.`地区`,
`供应商`.`城市`,
`供应商`.`电话`
FROM `供应商`
WHERE `供应商`.`地区` IN ('华东','华南');
多表查询
--查询订购⽇期在1996年7⽉1⽇⾄1996年7⽉15⽇之间的订单的订购⽇期、订单ID、相应订单的客户公司名称、负责订单的雇员的姓⽒和名字等字段的值,并将查询结果按雇员的“姓⽒”和“名字”字段的升序排列,“姓⽒”和“名字”值相同的记录按“订单 ID”的降序排列
SELECT
`订单`.`订购⽇期`,
`订单`.`订单ID`,
`客户`.`公司名称`,
`雇员`.`姓⽒`,
`雇员`.`名字`
FROM `订单`, `雇员`, `客户`
WHERE `订单`.`客户ID`=`客户`.`客户ID`
AND `订单`.`雇员ID`=`雇员`.`雇员ID`
AND `订单`.`订购⽇期` BETWEEN '19996-07-01' AND '1996-07-16'
ORDER BY `雇员`.`姓⽒`, `雇员`.`名字`, `订单`.`订单ID` DESC;
--查询“10248”和“10254”号订单的订单ID、运货商的公司名称、订单上所订购的产品的名称SELECT `订单`.`订单ID`,
`运货商`.`公司名称`,
`产品`.`产品名称`
FROM `订单`, `运货商`, `订单明细`,`产品`
WHERE `订单`.`运货商`=`运货商`.`运货商ID`
AND `订单`.`订单ID`=`订单明细`.`订单ID`
AND `订单明细`.`产品ID`=`产品`.`产品ID`
AND `订单`.`订单ID` IN (10248, 10254);
--查询“10248”和“10254”号订单的订单ID、订单上所订购的产品的名称、数量、单价和折扣SELECT `订单`.`订单ID`,
`产品`.`产品名称`,
`订单明细`.`数量`,
sql自学难吗`订单明细`.`单价`,
`订单明细`.`折扣`
FROM `订单`, `订单明细`,`产品`
WHERE `订单`.`订单ID`=`订单明细`.`订单ID`
AND `订单明细`.`产品ID`=`产品`.`产品ID`
AND `订单`.`订单ID` IN (10248, 10254);
--查询“10248”和“10254”号订单的订单ID、订单上所订购的产品的名称及其销售⾦额SELECT `订单`.`订单ID`,