葵花宝典之SQL篇
By --- 一名
前言
刚放假,电脑出了毛病,重装系统也就罢了,所有的资料全部丢失,编程的环境没了,什么都没了,很是伤心,不得已,更是增加了电脑联网的决心,话说申请了宽带还要2-3天才能装上。在次期间JSP是不能搞了,于是决定把SQL再看一边,于是就有了此宝典的由来。
(话说欲炼此功必先自宫,如果你非要那样做,我也不会阻拦。但是找个安静的环境还是必要的,我喜欢在看书的时候手机关机。)
第一招:数据的检索:
1、SELECT * FROM Table_name
2、带别名的检索
SELECT FNumber AS 工号,FName AS 姓名,FAge AS 年龄,FSalary AS 工资 FROM
T_Employee (AS可以省略)
3、SELECT * FROM T_Employee
WHERE FSalary<5000 OR FAge>25
4、数据数据汇总:
MAX 计算字段最大值
MIN 计算字段最小值
AVG 计算字段平均值
SUM 计算字段合计值
COUNT 统计数据条数
1查询年龄大于25岁的员工的最高工资:
SELECT MAX(FSalary) FROM T_Employee
WHERE FAge>25
结果:6200
2统计一下工资大于3800 元的员工的平均年龄:
SELECT AVG(FAge) FROM T_Employee
WHERE FSalary>3800
结果:25
3公司每个月应支出工资总额:
SELECT SUM(FSalary) FROM T_Employee
结果:34302.04
4统计公司的最低工资和最高工资:
SELECT MIN(FSalary),MAX(FSalary) FROM T_Employee
结果:1200.00 8300.00
5 SELECT COUNT(*),COUNT(FNumber) FROM T_Employee
结果:8 8
思考:COUNT(*),COUNT(FNumber) 是否等价?
在T_Employee表中插入一条数据:
INSERT INTO T_Employee(FNumber,FAge,FSalary) VALUES('IT002',27,2800)
很显然Fname为空,执行下面SQL语句:
SELECT COUNT(*),COUNT(FNumber),COUNT(FName) FROM T_Employee
结果:9 9 8
很显然COUNT(Fname)是统计Fname不为空的记录总条数
5、排序
1按照年龄从大到小排序
SELECT * FROM T_Employee
ORDER BY FAge ASC
ASC代表升序、DESC 代表降序
2按照年龄从大到小排序,如果年龄相同则按照工资从大到小排序
SELECT * FROM T_Employee
ORDER BY FAge DESC,FSalary DESC
数据库系统首先按照第一个排序规则进行排序;如果按照第一个排序规则无法区分两条记录的顺序,则按照第二个排序规则进行排序;如果按照第二个排序规则无法区分两条记录的顺序,则按照第三个排序规则进行排序;……
3与WHERE语句连用
SELECT * FROM T_Employee
WHERE FAge>23
ORDER BY FAge DESC,FSalary DESC
注意:WHERE和ORDER BY 的顺序是不可以颠倒的
第二招:高级数据过滤
6、通配符过滤 使用关键字 LIKE
1单字符匹配’_’
SELECT * FROM T_Employee
WHERE FName LIKE '_erry'
2多字符匹配” % ”
SELECT * FROM T_Employee
WHERE FName LIKE 'T%'
3集合匹配“[]”
SELECT * FROM T_Employee
WHERE FName LIKE '[SJ]%'
还可以使用否定符“^”来对集合取反,它匹配不与字符集中任意一个字符相匹配的字
SELECT * FROM T_Employee
WHERE FName LIKE '[^SJ]%'
7、空值检测
1 SELECT * FROM T_Employee
WHERE FNAME=null
执行这个语句后没有任何结果!
原因:要使用IS NULL关键字
SELECT * FROM T_Employee
WHERE FNAME IS NULL
2 IS NULL/IS NOT NULL可以和其他的过滤条件一起使用
SELECT * FROM T_Employee
WHERE FNAME IS NOT NULL AND FSalary <5000
8、反义运算符
“!”取反 如:
“!=”表示“不等于”
“!<”表示“不小于”
“!>”表示“不大于”
1检索所有年龄不等于22岁并且工资不小于2000元
SELECT * FROM T_Employee
WHERE FAge!=22 AND FSALARY!<2000
然而“!”运算符的方式由于只能运行在MSSQLServer和DB2两种数据库系统上
如果要增加数据库的可移植性,可以使用NOT来表示“非”
9、多值检测
1 公司要为年龄为23岁、25岁和28岁的员工发福利,请将他们的年龄、工号和姓名检索出来
SELECT FAge,FNumber,FName FROM T_Employee
WHERE FAge=23 OR FAge=25 OR FAge=28
OR SELECT FAge,FNumber,FName FROM T_Employee
WHERE FAge IN (23,25,28)
10、范围值检测
1SELECT * FROM T_Employee
WHERE FAGE>=23 AND FAGE <=27
OR : SELECT * FROM T_Employee
WHERE FAGE BETWEEN 23 AND 27
2检索所有工资介于2000元到3000元之间以及5000元到8000元的员工信息
SELECT * FROM T_Employee
WHERE (FSalary BETWEEN 2000 AND 3000)
OR (FSalary BETWEEN 5000 AND 8000)
注意:BETTWEEN AND是闭区间
第三招:数据分组
11、数据分组入门
SQL语句中使用GROUP BY子句进行分组,使用方式为“GROUP BY 分组字段”
1SELECT FAge FROM T_Employee
GROUP BY FAge
2SELECT FAge,FSalary FROM T_Employee
GROUP BY FAge 这句是错误的!
SELECT FAge,AVG(FSalary) FROM T_Employee
GROUP BY FAge 这句是正确的!
3SELECT FSubCompany,FDepartment FROM T_Employee
GROUP BY FSubCompany,FDepartment “组中组的实现”
4查看每个年龄段的员工的人数
SELECT FAge,COUNT(*) AS CountOfThisAge FROM T_Employee
GROUP BY FAge
结果:22 1
23 2
25 2
27 1
28 3
font-family: Times New
分享到:
相关推荐
《Oracle相关SQL葵花宝典》是一本专为学习Oracle数据库管理系统中SQL语言及PL/SQL编程设计的综合指南。本书全面涵盖了从基础到高级的Oracle SQL知识,旨在帮助读者熟练掌握在Oracle环境中进行数据查询、操作、分析...
oracle_葵花宝典oracle_葵花宝典oracle_葵花宝典oracle_葵花宝典oracle_葵花宝典oracle_葵花宝典oracle_葵花宝典oracle_葵花宝典oracle_葵花宝典oracle_葵花宝典oracle_葵花宝典oracle_葵花宝典
AutoLisp葵花宝典
Java面试题葵花宝典,Java基础知识总结,刚开始使用Java面试必备
塔罗葵花宝典塔罗牌入门圣经
葵花宝典 WPF自学手册 源代码VS2010 葵花宝典 WPF自学手册 源代码VS2010
《Java葵花宝典》是一份专为Java程序员准备的面试指南,包含了丰富的Java相关知识,旨在帮助读者全面掌握Java核心技术,提升面试竞争力。这份压缩包文件由五个文档组成,分别是"宝典一.docx"、"宝典二.docx"、"宝典...
《塔罗葵花宝典终极完整修正版》是一款详尽介绍塔罗牌知识的资源,主要针对对塔罗牌有兴趣的初学者和进阶者。该压缩包内包含的PDF文件,提供了全面、深入的塔罗牌解读指南,旨在帮助读者理解和掌握塔罗牌的奥秘。 ...
### 分区、分片葵花宝典知识点解析 #### 一、概述 “分区、分片葵花宝典”是一份详尽的指南文档,旨在深入介绍数据库中的分区(Partitioning)与分片(Sharding)技术。这些技术主要用于优化大型数据库系统的性能,...
2018年信息系统项目管理师考试葵花宝典之【金色考点汇编暨案例论文解析】
这篇“网站优化之葵花宝典初级篇”旨在为初学者提供一份全面的入门指南,涵盖了一系列基础但至关重要的知识点。 首先,理解SEO的核心概念至关重要。SEO主要分为三个方面:On-page优化(页面优化)、Off-page优化...
华为HCIE-RS面试理论之葵花宝典V3.0抓住面试的尾巴
根据给定的信息,本文将对2017年下半年信息系统项目管理师考试的葵花宝典进行详细解析。主要内容包括历年真题的分类解析以及相关的知识点梳理。 ### 一、历年真题分类解析 #### 1. 真题概述 葵花宝典中的历年真题...
《 葵花宝典 WPF自学手册》是一本很不错的WPF学习书籍。这份源代码是随书光盘里的,我是从资源贩子那付费获得的,无偿分享给有需要的各位。
华为HCIE-RS面试理论之葵花宝典#资源达人分享计划#
《Delphi之葵花宝典》是一本专为Delphi开发者量身打造的参考资料,它汇集了超过1000条宝贵的编程经验和技巧,旨在帮助程序员提升开发效率,解决实际问题。Delphi作为一款强大的面向对象的 Pascal 编程语言,自诞生...
压缩包中的其他几个文档,如"java葵花宝典1"、"java葵花宝典2"、"java葵花宝典3"可能是对基础宝典的补充或者细分,可能分别关注Java的特定领域,比如数据库连接(JDBC)、国际化与本地化、Swing或JavaFX图形用户界面...
《高级信息系统项目管理师考试葵花宝典》是一套针对2021年高级信息系统项目管理师考试的全面备考资料,包含金色题库、考点汇编及案例论文解析,历年真题分类详细解析等核心内容。这套资料旨在帮助考生在不同复习阶段...