- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实施部2011年培训(SQL基础部分)实施部2011年培训(SQL基础部分)
SQL基础知识
SQL技能培训
发现问题---解决问题
目 录
SQL基础知识
SQL语句分:数据定义语言(Data Definition Language,简称“DDL”)、数据操纵语言(Data Manipulation Language,简称“DML”)、数据控制语言(Data Control Language,简称“DCL”)三部分功能。
主要讲解DML部分,查询是DML部分中最主要的部分,所以重点讲解。
在sqlserver中
DML包括:select,update,insert,delete;
DDL包括:create,drop,alter;
DCL包括grant,revoke,deny,execute,while等等。
例表:假定对score(成绩)、student(学籍卡)、course(课程)、classcourse(科目属性设置表)这四张表操
SQL基础知识
SELECT语句
1.语法:
select * from table_name where …group by … having…order by …
语法的执行顺序说明:先执行from字句,然后依次是where、group by、having、order by字句,最后才对结果select
2.普通单表查询
select * from Suppliers
select top 100 * from Suppliers
3.不重复查询
SELECT DISTINCT Country FROM Suppliers
4.带条件查询(where后面不可跟聚合函数,比较运算符的右边不可出现集合值)
SELECT * FROM Suppliers WHERE Country=USA
SQL基础知识
SELECT语句(续)
5.关联查询(为了避免笛卡儿乘积的产生,对于n个表的连接,至少要有n-1个条件;对于重复的字段,则需要在字段前加上表的别名
SELECT P.ProductID,P.ProductName, S.SupplierID,S.CompanyName
FROM Suppliers S,Products P WHERE S.SupplierID = P.SupplierID AND S.Country=USA
这个语句根据ANSI-92标准也可以这样写:
SELECT P.ProductID,P.ProductName, S.SupplierID,S.CompanyName
FROM Suppliers AS S
INNER JOIN Products AS P ON (S.SupplierID = P.SupplierID)
WHERE S.Country=USA
SQL基础知识
SELECT语句(续)
6.分组(group by)、筛选(having)
SELECT S.SupplierID,S.CompanyName ,COUNT(*),COUNT(1)
FROM Suppliers AS S
INNER JOIN Products AS P ON (S.SupplierID = P.SupplierID)
WHERE S.Country=USA
GROUP BY S.SupplierID,S.CompanyName
HAVING COUNT(*)1
说明:语句先执行where条件,然后在条件里分组(group by)排列,最后在分组里进一步筛选(having);select选择列表里除聚合函数以外的列都必须出现在group by后面,group by后面不能跟字段别名,不支持任何使用了聚合函数的集合列;having可以包含聚合函数,可以引用选择列表中出现的任意列
SQL基础知识
SELECT语句(续)
7.聚合函数(avg)、分组(group by)、筛选(having)、排序(order by)
SELECT S.SupplierID,S.CompanyName ,COUNT(*) 品种数,AVG(P.UnitPrice) 平均单价,MAX(UnitsInStock) 库存最大
FROM Suppliers AS S
INNER JOIN Products AS P ON (S.SupplierID = P.SupplierID)
WHERE S.Country=USA
GROUP BY S.SupplierID,S.CompanyName
HAVING COUNT(*)1 ORDER BY S.SupplierID DESC
说明:聚合函数(也称统计函数)共有5个,分别是:avg --求平均值,count --统计数目,max --求最大值,min --求最小值,sum --求和,更具体的用法查看sql
文档评论(0)