一、查询命令语法
SELECT 查询列表
[INTO 新表名]
FROM <源表>
[WHERE 条件表达式]
[GROUP BY 分组表达式]
[HAVING 组内数据条件表达式]
[ORDER BY 排序表达式[ASC|DESC]]
[COMPUTE
{{AVG|COUNT|MAX|MIN|SUM}(表达式)}[,...n]
[BY 表达式[,...n]]]
子句 | 作用 |
SELECT | 要返回的列或表达式 |
INTO | 用于创建一场新表,并将满足查询条件的结果数据插入新表中 |
FROM | 在SELECT、DELETE或UPDATE命令语句中,指明引用的表、视图及表连接等 |
WHERE | 指定限定行的查询条件 |
GROUP BY | 用于对查询的结果数据集合进行“分组”或“分组统计”(一般与“聚集函数”联用) |
HAVING | 用于对分组数据的集合再筛选(须与GROUP BY联用,不能单独使用) |
ORDER BY | 用于对结果集进行排序 |
COMPUTE与COMPUTE BY | 对查询的结果数据集合进行最后的“总计” |
二、SELECT语句的基本使用
在查询分析器中将当前数据库设为CPXS
1、查询每种产品的所有数据
在查询分析器的输入窗口输入如下的语句并执行:
select *
from cp
结果:
2、查询每种产品的价格和库存量
select JG,KCL
from cp
结果:
3、查询XSBH为000001的销售商的地区和电话(WHERE子句)
SELECT DQ,DH
FROM xss
WHERE xsbh='000001'
4、查询XSBH为000001的销售商的地区和电话,使用AS子句将结果中各列标题分别指定为地区、电话(AS子句)
SELECT DQ AS 地区,DH AS 电话
FROM xss
WHERE xsbh='000001'
结果:
5、计算所有产品的总价值
SELECT CPBH,总价值 = JG*KCL
FROM cp
结果:
6、找出所有名称中包含“电”的产品编号和价格
SELECT CPBH,JG
FROM cp
WHERE CPMC LIKE'%电%'
三、连接查询
1、查询每种产品的情况以及其销售的情况
SELECT cp.*,xscp.*
FROM cp,xscp
WHERE cp.CPBH =xscp.CPBH
2、查找价格在2000及以上的产品名称及其销售情况
SELECT CPMC,XSMC,XSSJ,SL,JE
FROM cp,xss,xscp
WHERE cp.CPBH = xscp.CPBH AND xss.XSBH=xscp.XSBH AND JG>=2000
四、嵌套查询
查找与“广电公司”在同一地区的销售商情况
SELECT *
FROM xss
WHERE DQ =
(SELECT DQ
FROM xss
WHERE XSMC='广电公司')
五、数据汇总(聚集函数)
函数形式 | 函数功能 |
COUNT(DISTINCT|ALL表达式) | 返回费控表达式值的行数 |
COUNT(*) | 返回结果的行数,含NULL行和重复行 |
MAX(DISTINCT|ALL表达式) | 非空表达式的最大值 |
MIN(DISTINCT|ALL表达式) | 非空表达式的最小值 |
SUM(DISTINCT|ALL表达式) | 非空表达式值的总和 |
AVG(DISTINCT|ALL表达式) | 非空表达式值的平均值 |
1、求地区为南京的总销售商数
SELECT COUNT(XSBH)
FROM xss
WHERE DQ ='南京'
2、统计销售总值
SELECT SUM(JE)AS'销售总值'
FROM xscp
六、GROUP BY、ORDER BY子句的使用
1、查询各地区的销售商数
SELECT DQ,COUNT(XSBH)
FROM xss
GROUP BY DQ
2、将各产品的情况按价格由低到高排列
select *
from cp
order by JG