四、SQL命令-DQL(数据查询语言)第一部分之基础应用

SQL命令-DQL

  • DQL(数据查询语言)主要用于进行数据表中数据的查询

基本语法

  • SELECT 属性1,属性2,.... FROM 表名;
  • 例子:SELECT empno,ename,jobno,hiredate FROM insane_emp;
  • 通配符*,代表所有,可以使用*代表查询表中所有列
    • 例子:SELECT * FROM insane_emp;

运算

  • 使用SELECT语句进行数据查询时,还可以进行算术运算、限定查询、排序、分组等控制
  1. 算术运算
  • 能够在SELECT语句查询的结果基础上进行相应的数学运算
  • 例子:SELECT sal+100 FROM insane_job;

限定查询

  • 在使用SELECT语句进行查询时,使用WHERE子句,就能查询出满足条件的记录,而不是表中的所有记录
  • 例子:SELECT * FROM insane_emp WHERE empno=20161001;
  • WHERE子句也可以使用多个限定条件
  • 在WHERE子句中设置的限定条件,一般由各种运算符组成MySQL中常用的运算符有几类:数学运算符、比较运算符、逻辑运算符
  1. 比较运算符:


    image.png
  2. 特殊的比较运算符:


    image.png

    image.png
  • 通配符%代表若干个字符,通配符_代表一个字符
  1. 逻辑运算符:


    image.png

    image.png
  • 逻辑运算符 ! 在使用的时候一定要注意不能省略后面括号
  • 运算符优先级:数学运算符>比较运算符>逻辑运算符

去除重复

  • 使用DISTINCT关键字能够将查询到的结果集中重复的记录去除
  • 例子:SELECT DISTINCT hiredate FROM insane_emp;

设置别名

  • 设置别名使用AS关键字可以在查询时设置属性(列)的别名,不过AS可以省略
  • 例子:SELECT empnoAS '员工号',ename AS '员工姓名' FROM insane_emp;

排序

  • 使用ORDER BY子句可以将SELECT查询到的结果集按照指定属性排序,默认采用升序(ASC)排序方式,也可以使用降序(DESC)
  • 例子:SELECT * FROM insane_emp ORDER BY deptno;
  • 同样,排序时也可以指定多个属性排序
  • 当多属性排序方式有冲突时,按照指定先后顺序排序

分组统计

  • 使用GROUP BY子句可以对查询结果按指定属性进行分组统计
  • 例如:查询公司内各个部门员工人数
    • SELECT COUNT(deptno) FROM insane_emp GROUP BY deptno;
  • 一般分组GROUP BY子句和聚合函数一起使用,常用的聚合函数有:COUNT()、AVG()、SUM()、MAX()、MIN()、GROUP_CONCAT()

聚合函数

  1. 计数函数COUNT
  • 统计表中某个属性对应的记录数
  • 例子:SELECT COUNT(empno) FROM insane_emp;
  1. 求平均值函数AVG
  • 统计表中某个属性对应的平均值
  • 例子:SELECT AVG(sal) FROM insane_job;
  1. 求和函数SUM
  • 统计表中某个属性的汇总值(和)
  • 例子:SELECT SUM(sal) FROM insane_job;
  1. 最大值函数MAX
  • 统计表中某个属性的最大值
  • 例子:SELECT MAX(sal) FROM insane_job;
  1. 最小值函数MIN
  • 统计表中某个属性的最小值
  • 例子:SELECT MIN(sal) FROM insane_job;
  1. 列值拼接函数GROUP_CONCAT
  • 将表中某个属性的所有值拼接到同一个结果中,默认值与值之间用逗号分隔,也可以使用SEPARATOR关键字指定分隔符
  • 例子:SELECT GROUP_CONCAT(jobname SEPARATOR '+') FROM insane_job;

需要注意的是:
1.在SELECT命令中使用分组时,SELECT关键字后只能使用聚合函数和GROUP BY子句后出现的属性2.聚合函数不能直接在WHERE子句中使用

分组统计-Having

  • 和分组GROUP BY子句经常一起使用的还有HAVING子句
  • HAVING子句为分组统计进一步设置统计条件,效果和WHERE子句类似
  • 它们的区别是:
    1. WHERE子句在查询前限定查询条件
    2. HAVING子句在分组后进行进一步限定
    • 例如:查询公司内各个部门员工人数,并返回部门员工人数大于2人的部门编号
    • SELECT COUNT(*),deptno FROM insane_emp GROUP BY deptno HAVING COUNT(deptno)>2;
  • 分组同样可以基于多个属性
    • 例如:查询公司内各个部门不同职位的员工人数
    • SQL语句:SELECT deptno,jobno,COUNT(empno) FROM insane_emp GROUP BY deptno,jobno;

限定结果

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

推荐阅读更多精彩内容

  • 注:1.mysql是一种关系型数据库 2.大小写不敏感 3.字符串用单引号,若字符串里有单引号,则...
    孙浩j阅读 1,308评论 0 2
  • 查询语句语法: 1 基本查询(Select…From) 1.1 全表和特定列查询 1.2 列别名 1.3 算术运算...
    Rex_2013阅读 550评论 0 0
  • 1、DQL(数据查询语言)主要用于进行数据表中数据的查询 基本语法:SELECT 属性1,属性2,…. FROM ...
    熊大呀阅读 1,016评论 0 0
  • 学习目的 掌握Mysl常用的查询语句 掌握数据查询在实际开发中的应用 一.Mysql数据查询(DQL) DQL概念...
    从前的小余儿阅读 288评论 0 0
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 125,138评论 2 7