- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
查看表结构 DESC table1
查询语句
select * from 表1 where 条件 order by 列名 desc/asc
//在表1中查询符合条件的记录 并按照某列降序/升序排列
条件的关键字
and or not between and
like ‘ ’ %表示一个或多个字符,_表示一个字符 not like ’ ’
in(’’,’’ ,’’ ) 某字段的值在所属范围内的记录
is /is not null查询字段内容为空/非空的语句
select * from table1 where 工资2500 and 工资3000
select 姓名 from table1 where 性别=0 and 工资=4000
select * from table1 where not 工资= 3200
select * from table1 order by 工资desc //将工资按照降序排列,默认为升序
select * from table1 order by 工资 asc //将工资按照升序排列
SELECT * FROM table1 order by dept, sal desc //按部门升序,并按薪酬降序
select * from table1 where year(出身日期)=1987
//查询table1 中所有出生在1987的人
模糊查询
select * from table1 where name like 张%张
//查询首位字‘张’3,尾位字‘张’2,
select * from table1 where name like DB\_%i__ escape ‘\’
//查询table1表中name以DB_开头,并且倒数第三个字符为i的记录,第一个‘_’表示字符本身,后两个‘_’为通配符。
escape ‘\’ 该语句表示‘\’为换码字符,这样其后紧跟的字符’_’不再具有通配符的含义,转义为普通的‘\’字符
SELECT * FROM table1 WHERE name like S__T%
//查询name字段首位字符为S后有两位,然后跟T后跟其它字符串的记录
SELECT * FROM table1 WHERE (sal500 or job=MANAGE) and name like J%
//综合使用各查询关键字
select * from table1 where brithday is null //查询表1 中出身日期为空的人
查询指定列
SELECT date, name, mgr FROM table1
SELECT DISTINCT mgr FROM emp; 只显示结果不同的项
数据分组 max min avg sum count
count(*)统计所有数量 count(0)统计第一列不为空的
SELECT MAX(sal),MIN(age),AVG(sal),SUM(sal) from emp
//显示4列1行数据,分别是表中工资最高、年龄最小、平均工资、总工资的数值
SELECT * FROM emp where sal=(SELECT MAX(sal) from emp)
//查询表中最高工资的记录,嵌套查询
SELECT COUNT(*) FROM emp//查询总记录数
SELECT COUNT(distinct name) FROM emp//查询不同名的员工数
//将表中每条记录的数量x单价值作为金额列显示出来,单条记录
SELECT 数量, 单价, 数量 * 单价 AS 金额 FROM table
//计算表中每条记录的数量x单价值,并计算出总金额
SELECT sum( 数量 * 单价) AS 金额 FROM table
group by用于对查询结果的分组统计
SELECT dept,MAX(sal),AVG(sal) FROM emp GROUP BY dept
//在表中以部门名称字段分组,查询显示部门名称、部门的最高工资、部门的平均工资
having用于限制分组显示结果
SELECT dept, AVG(sal),MAX(sal) FROM emp
group by dept //分组的条件
having AVG(sal)2000 //显示记录的条件
order by AVG(sal) desc //排列顺序
//在表中以部门名称字段分组,查询其中平均工资小于2000的记录,显示部门名称、平均工资、最高工资,并以平均工资降序排列,注意限制分组的关键字顺序不能改变
对于数据分组的总结:
a. 分组函数只能出现在选择列表、having、order by子句
原创力文档


文档评论(0)