在SQL中,查询语句是数据库操作的重要组成部分。例如,为了获取订单明细表中订单ID列表并去除所有重复值,可以使用以下SQL语句:
SELECT DISTINCT 订单ID FROM 订单明细
通过使用MAX、MIN和AVG函数,我们可以轻松地计算出产品表中产品的最高库存量、最低库存量和平均库存量:
SELECT MAX(库存量) 最高库存量,MIN(库存量) 最低库存量,AVG(库存量) 平均库存量 FROM 产品
要统计订单数量,只需简单地执行:
SELECT COUNT(*) 订单数量 FROM 订单
若需按货主地区统计订单数量,应使用GROUP BY子句:
SELECT 货主地区,COUNT(*) 订单数量 FROM 订单 GROUP BY 货主地区
列出所有订阅大米的客户名称需要进行多表连接:
SELECT 公司名称 AS 客户名称 FROM 客户 JOIN 订单 ON 客户.客户ID=订单.客户ID JOIN 订单明细 ON 订单明细.订单ID=订单.订单ID JOIN 产品 ON 产品.产品ID=订单明细.订单ID WHERE 产品名称='大米'
要列出库中的所有订单的客户ID、产品ID和发货日期,可执行:
SELECT 客户ID,产品ID,发货日期 FROM 订单 JOIN 订单明细 ON 订单明细.订单ID=订单.订单ID
若按发货日期的顺序列出所有订单的客户ID和产品ID,则需添加ORDER BY子句:
SELECT 客户ID,产品ID FROM 订单 JOIN 订单明细 ON 订单明细.订单ID=订单.订单ID ORDER BY 发货日期
供应商表中姓“徐”的联系人的地址、城市、电话、公司名称以及邮编可以通过以下三种方式查询:
SELECT 地址,城市,电话,公司名称,邮政编码 FROM 客户 WHERE 联系人姓名 LIKE '徐%'
SELECT 地址,城市,电话,公司名称,邮政编码 FROM 客户 WHERE LEFT(联系人姓名,1)='徐'
SELECT 地址,城市,电话,公司名称,邮政编码 FROM 客户 WHERE CHARINDEX('徐',联系人姓名)>0
查找产品表中含有“米”的相关记录,只需执行:
SELECT * FROM 产品 WHERE 产品名称 LIKE '%米%'
客户表中电话号码含有“010”的记录可以用以下两种方法查找:
SELECT * FROM 客户 WHERE 电话 LIKE '%010%'
SELECT * FROM 客户 WHERE CHARINDEX('010',电话)>0
若需查找客户“黄雅玲”所订购的产品名称、定购量,以及该客户的所在公司、职务、电话,则可使用:
SELECT 产品名称,数量,公司名称,联系人职务,电话 FROM 客户 JOIN 订单 ON 客户.客户ID=订单.客户ID JOIN 订单明细 ON 订单明细.订单ID=订单.订单ID JOIN 产品 ON 产品.产品ID=订单明细.订单ID WHERE 联系人姓名='黄雅玲'
统计客户所订购的订单数,显示相应的客户名、客户ID、订单数,并且根据订单数进行升序排序:
SELECT 公司名称 AS 客户名,客户ID,COUNT(*) 订单数 FROM 客户 JOIN 订单 ON 客户.客户ID=订单.客户ID ORDER BY 3