【数据库】DQL操作

DQL—— 查询 表中的数据:

语法

SELECT
selection_list /* 要查询的列名称* /
FROM
table_list /* 要查询的表名称* /
WHERE
condition /* 行条件 * /
GROUP BY
grouping_columns /* 对结果分组* /
HAVING
condition /* 分组后的行条件* /
ORDER BY
sorting_columns /* 对结果排序* /
LIMIT
offset_start, row_count /* 控制查询结果数量* /

条件查询:where 子句

=、!=、<>(不等于)、<、<=、>、>=;
BETWEEN…AND; 在什么范围之间
IN(set);
IS NULL;为空
IS NOT NULL 不为空
AND; 并且
OR; 或者
NOT;非


模糊查询:like

通配符:

'_':匹配单个任意字符
'%':匹配任意数量(包括0个)任意字符

例如:查询第二个字符是m的

select * from student where sanme like '_m%';

字段控制:

  • 修改字段的别名:AS (可以省略)

例如:

  1. 给字段起别名:
select sname as 姓名, sage 年龄 from student;
  1. 给运算字段起别名:
select sname as 姓名, (工资+奖金) as 总收入 from student;
  1. 给表起别名:给每一张表起一个别名。简化书写
select stu.sname, stu.sage from student as stu;

字段运算:

  • null参与的运算,结果都为null

例如:
工资 是100 奖金是null 我们让这两个字段运算 那结果就为null

  • ifnull(字段名称,如果是null的替换值)
    (注意:ifnull 是mysql的方言)

例如:
所有如果奖金字段为null 一般我们把奖金替换为0

select sname,(工资+ifnull(奖金,0)) as 总收入from student;

去除重复记录:

语法

  • DISTINCT

例如:
我查询工资是3000的 出现了多条工资为3000 的记录
那我只想展示一条3000的记录 所以可以用 distinct 去除重复记录:

select distinct 工资  from student;

排序:

语法

order by 排列方式

排列方式 取值

  1. ASC 默认值
  2. DESC 降序排列

例如:

  1. 按工资从小到大排
select * from student order by 工资 asc;
  1. 按工资从大到小排
select * from student order by 工资 desc 
  1. 如果出现多条工资一样的 那我们可以指定第二排序条件
select * from student order by 工资 desc,奖金desc;

聚合函数:

定义

聚合函数是用来做纵向运算的函数

相关函数

  • COUNT():统计指定列不为NULL的记录行数;

例如:
统计个数的 比如我统计有多少个学生

select count(sid) from student;  
# 或者传个 星号(*)
select count(*) from student;
  • MAX():计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算;

例如:
查询工资最大值

select max(工资) as 最高工资 from student;
  • MIN():计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算;

例如:
查询 最少工资

select min(工资) as 最小工资 from student;
  • SUM():计算指定列的数值和,如果指 定列类型不是数值类型,那么计算结果为0;

例如:
计算总工资

select sun(工资) as 总支出 from student;
  • AVG():计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0;

例如:
计算平均 工资

select avg(工资) as 平均工资 from student;

分组查询:

语法

group by:一般配合聚合函数使用,查出的数据才有意义

查询的字段

  1. 分组字段本身
  2. 聚合函数

例如:

  1. 我按部分编号分组 比如有三个部门 然后我求每个部门的平均工资
select 部门编号,AVG(工资) from student group by 部门编号;
  1. 每个部门的部门编号 已经每个部门工资大于1500的人数
select 部门编号, count(*) from student where 工资>1500 group by 部门编号;

在这里,本人讲解下 where和having的区别
where和having的区别

  • where:
    分组之前对条件进行限定
    不满足条件,就不会参与分组
  • having:
    分组之后,对结果集的筛选

例如;

  1. 查询 各个部门平均工资 大于2000 的部门
select 部门编号,avg(工资) from student group by 部门编号 having avg(工资)>2000;
  1. 查询 各个部门 员工工资大于1500 的平均工资 并且平均工资 大于2000的部门

上面这句话怎么理解呢?
首先查询各个部门,那肯定要按部门编号分组
分组前的条件限定是: 员工工资大于1500的才参与分组
计算出平均工资,然后对结果再进行筛选
筛选出 平均工资 大于2000的部门

select 部门编号,avg(工资) from student group by 部门编号 where 工资>1500 having  avg(工资)>2000;

分页查询:

语法

limit 开始的记录索引, 每一页显示的条数
(开始的记录索引 = (页码-1)*每一页显示的条数)

例如:
15条记录,分3页查询:
select * from student limit 0,5 ; 这是第一页 5 条记录
select * from student limit 5,5 ; 这是第二页 5条记录
select * from student limit 10,5 这是第三页 5条记录


那么,本篇博文的知识点在这里就讲解完毕了。
(请观看本人博文 —— 《【数据库】SQL语句》)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容