文章目录

目录

文章目录

前言

5.1单表查询

例:先准备表及基础数据

查询中选择特定的列

查询中使用算数表达式

查询中使用列的别名

查询中使用DISTINCT运算符

限定查询

BETWEEN...AND操作符

比较运算符:IN、NOT IN

NULL

LIKE模糊查询

限定查询操作符的优先级

ORDER BY排序

limit限制查询

GROUPBY查询


前言

大家好,我是ice三分颜色。个人主页:ice三分颜色的博客

本文讲了有关单表查询的一些知识和例子。

走过路过的小伙伴们点个赞和关注再走吧,欢迎评论区交流,努力什么时候开始都不算晚,那不如就从这篇文章开始!

大家一起成长呀!笔芯


5.1单表查询

单表查询是指对一个表的数据进行查询。

例:先准备表及基础数据

一定要有这个表,不然创建下面雇员表的时候会报错。

--雇员表

CREATE TABLE IF NOT EXISTS employee (

empno iNT(4) NOT NULL AUTO_INCREMENT,

ename CHAR(8) NOT NULL COMMENT '员工姓名',

job VARCHAR(20) NOT NULL COMMENT '职位',

mgr INT(4)COMMENT '经理',

hiredate DATE NOT NULL COMMENT'雇佣日期',

sal FLOAT(7,2) NOT NULL COMMENT'工资',

comm VARCHAR(20) COMMENT '备注',

deptno iNT(2) NOT NULL COMMENT '部门编号',

CONSTRAINT pk_emp PRIMARY KEY(empno),

CONSTRAINT fk_emp_dept FOREIGN KEY (deptno)REFERENCES department(deptno)

);

INSERT INTO employee VALUES

(7369,'SMITH','CLERK',7902,'2008-12-17',800,NULL,20),

(7521,'WARD','SALESMAN',7698,'2008-04-22',1250,500,30),

(7566,'JONES','MANAGER',7839,'2008-03-02',2975,NULL,20),

(7654,'MARTIN','SALESMAN',7698,'2008-09-28',1250,1400,30),

(7698,'BLAKE','MANAGER',7839,'2008-05-01',2850,NULL,30),

(7839,'KING' ,'PRESIDENT',NULL,'2008-01-17',5000,NULL,10),

(7844,'TURNER' ,'SALESMAN',7698,'2008-09-08',1500,0,30),

(7876,'ADAMS','CLERK',7788,'2009-03-23',1100,NULL,20),

(7900,'JAMES','CLERK',7698,'2008-12-03' ,950,NULL,30),

(7902,'FORD' ,'ANALYST',7566,'2008-12-03',3000,NULL,20);

OK!准备好数据开始查询

查询中选择特定的列

查询employee表中所有员工的所有信息(*指示查询数据表的所有列)

SELECT *FROM employee;

查询员工的编号、姓名、月薪。查询部分列(列与列之间以逗号隔开,列的排列次序决定了列的显示次序。)

SELECT empno, ename, sal FROM employee;

查询中使用算数表达式

使用算数表达式计算为每位员工月薪增加500元

SELECT empno, ename, sal,500+sal FROM employee;

使用算数表达式计算月薪增加500元后的年薪

SELECT empno, ename,(500+sal)*12 FROM employee;

查询中使用列的别名

在列名和别名之间使用AS或空格,别名可以使用引号,也可以不用。如果别名中包含了特殊字符,则需要使用引号。

列的别名(可以给列起自己想起的名字)

SELECT empno AS'员工编号',ename 'Employee Name',(500+sal)*12 年薪 FROM employee;

查询中使用DISTINCT运算符

DISTINCT运算符用于去除指定列数据重复的记录

SELECT DISTINCT job FROM employee;

限定查询

限定查询是指在数据查询时设置一系列的过滤条件,只有满足指定条件的数据才进行显示。

WHERE用来构成一个限制检索表中行数据的条件表达式;

后跟进行数据筛选的条件表达式,在条件表达式中可以使用关系运算符、逻辑运算符、BETWEEN...AND范围查询操作符、IN (NOT IN)列表范围查询操作符、NULL值判断操作符、LIKE模糊查询操作符等。

查询SALES部门(部门编号为30)的所有员工的姓名、月薪及年薪(假设该部门年终奖金为10000/人)

SELECT ename,sal,12*sal+10000 AS 年薪 FROM employee WHERE deptno=30;

查询工资在1500到2900之间的员工名单

SELECT empno,ename,sal FROM employee WHERE sal >= 1500 AND sal<=2900;

BETWEEN...AND操作符

主要用于针对一个指定的数据范围进行查询。指定范围的数据可以是数字、字符串或者是日期型数据。

查询工资在1500到2900之间的员工名单

SELECT empno,ename,sal FROM employee WHERE sal BETWEEN 1500 AND 2900;

查询在1981年1月1日和1981年12月31日之间加入公司的员工

SELECT empno,ename,hiredate FROM employee WHERE hiredate BETWEEN '2008-12-01'AND '2008-12-31';

指定范围之外的数据使用NOT BETWEEN...AND操作符

查询不是在1981年1月1日与1981年12月31日之间加入公司的员工

SELECT empno,ename,hiredate FROM employee

WHERE hiredate NOT BETWEEN '2008-12-01'AND '2008-12-31';

比较运算符:IN、NOT IN

IN用来测试某些值是否在列表中出现。NOT IN用来测试某些值是否不在列表中出现

查询职位为销售、文员或经理的人员。

SELECT empno,ename,job FROM employee

WHERE job IN('SALESMAN','CLERK' ,'MANAGER');

NULL

在SQL中是一个特殊的值,称为空值。它既不是0,也不是空格。它的值是没有定义的、未知的、不确定的。判断是否为NULL使用IS关键字,不能使用“=”。

查询有奖金的员工信息(COMM列值不为NULL)

SELECT empno,ename,job,sal,comm FROM employee WHERE comm IS NOT NULL;

LIKE模糊查询

模糊查询用于对所查询的数据记忆不是很清楚的时候。模糊查询使用LIKE操作符。(这个之前有讲过)LIKE后跟匹配条件,用引号括起来,由关键字和通配符组成。NOT LIKE表示不满足模糊查询。

注意: LIKE子句中有以下两个通配符:%:可以匹配任意类型和长度(0个或多个)的字符。_:匹配单个任意字符。常用来限制表达式的字符长度。

查询姓名以J开头、姓名最后两个字符为E和一个任意字符的员工信息

SELECT empno,ename,job FROM employee WHERE ename LIKE 'J%E_';

限定查询操作符的优先级

按由高到低依次为:

算术运算符>连接运算符>比较运算符>IS NULL、IS NOT NULL>LIKE、NOT LIKE、IN、NOT IN>BETWEEN、NOT BETWEEN>NOT>AND>OR

ORDER BY排序

在执行查询操作时,默认情况下会按照行数据插入的先后顺序来显示行数据。在实际应用中经常需要对数据进行排序,以显示更直观的数据。排序是使用ORDER BY子句。WHERE表示条件。

注:ASC代表升序,为默认值,可以省略;DESC代表降序。

查询销售部门(编号30)员工的工资及奖金信息,工资以降序排序

SELECT ename,job,sal,comm FROM employee WHERE deptno=30 ORDER BY sal DESC;

limit限制查询

用来限制查询结果记录的数量。Limit后跟一个数值,是初始记录索引值省略,只显示共有多少条记录。跟两个数值,第一个数值是初始记录索引值,第二个是共多少条记录。

查询部门20的员工工资最高的三个人的信息。

SELECT * FROM employee WHERE deptno=20 ORDER BY sal DESC LIMIT 3;

查询部门20中工资最高的第2名和第3名的员工信息

SELECT * FROM employee WHERE deptno=20 ORDER BY sal DESC LIMIT 1,2;

GROUPBY查询

GROUP BY子句可以将查询结果按属性列或属性列组合在行的方向上进行分组,每组在属性列或属性列组合上具有相同的聚合值。

注意:GROUP BY子句通常配合聚合函数做查询统计操作,单独使用GROUP BY关键字,查询结果只显示每组的一条记录,通常无实际意义。

出现在查询的SELECT列表中的每一列都必须同时出现在GROUP BY子句中。

SELECT deptno, count(*)FROM employee GROUP BY deptno;

数据库之通过例子了解单表查询相关推荐

  1. Hibernate中的HQL的基本常用小例子,单表查询与多表查询

    <span style="font-size:24px;color:#3366ff;">本文章实现HQL的以下功能:</span> /*** hql语法:* ...

  2. 数据库基础 (六)单表查询进阶

    通过前面的多篇博文,我们已经可以进行对数据库的基本操作了,但是数据库是远远不止这些的,接下来我们将会进入更深层次的数据库学习,勤学苦练才能有所得. 下面将介绍数据库的重要查询方式   1.排序查询 对 ...

  3. Mysql单表查询30个经典案例

    单表查询(30个例子) 单表查询30个例子 新建一个数据表grade grade表中插入数据 1.查询1945班的成绩信息 2,查询1945班,语文成绩大于60小于90的成绩信息 3,查询学生表中1到 ...

  4. mysql同张表关联多次查询_MySQL多次单表查询和多表联合查询

    Tip:不建议执行三张表以上的多表联合查询 对数据量不大的应用来说,多表联合查询开发高效,但是多表联合查询在表数据量大,并且没有索引的时候,如果进行笛卡儿积,那数据量会非常大,sql执行效率会非常低 ...

  5. 学数据库还不会Select,SQL Select详解,单表查询完全解析?

    查询操作是SQL语言中很重要的操作,我们今天就来详细的学习一下. 一.数据查询的语句格式 SELECT [ALL|DISTINCT] <目标列表达式>[,<目标列表达式> .. ...

  6. oracle数据库之数据的增删改以及简单的单表查询

    /*注意,下面的某些表内容是为了演示需要,你们练习的时候可以复制我的这篇文章做SQL脚本直接运行,应该没有问题,如果有问题可以检查一下是不是少了    ;         或者哪行注释没有注释掉,自己 ...

  7. Mysql数据库轻松学06—数据分析师常用:数据查询语言DQL之单表查询

    数据查询语言DQL 用来查询数据库表中的记录 基本结构: SELECT 字段名 FROM 表或视图名 WHERE 查询条件 单表查询 1.结果为虚拟结果集 select语句执行后服务器会按照要求检索表 ...

  8. 数据库作业:SQL练习3 - SELECT(单表查询)

    这是一些单表查询的例题的练习. [3.29] SELECT * FROM Student WHERE Sno LIKE '201215121'; 等价于: SELECT * FROM Student ...

  9. 面向考试数据库—单表查询(包含建表数据)

    面向考试数据库-单表查询(包含建表数据) 引言 ● 建立练习数据库(之后习题亦是基于该库) 建表源码 单表查询知识点汇总 单表查询练习题32道 (1)选取表中的若干列 (2)选择表中若干元祖 (3)o ...

最新文章

  1. MySQL的安装过程
  2. Struts2的action中处理JSONP方式提交的中文乱码问题:
  3. RX异常点检测算法(马氏距离)
  4. **python基础函数(十一)
  5. sqlalchemy 事务
  6. 显示所有大写字母python_python 输出所有大小写字母, range()以及列表切片
  7. Office Tip(1) : Split the Screen
  8. 基于TortoiseGit完成本地代码上传Git远程仓库中
  9. 服务器lsass系统错误,lsass.exe-系统错误,终结点格式无效 windows2003服务器出错
  10. 电子设计教程33:RC桥式正弦波振荡电路
  11. 使用ps处理PDF文件
  12. opencv4.0无法打开摄像头_笔记本电脑摄像头打不开怎么办
  13. 2022第十七届巴拿马春晚-113万海内外观众欢聚迎新春
  14. 恋词21版(2022.12.10)
  15. 后端开发工程师的生命周期,生命在于学习
  16. 品达通用权限系统(Day 1~Day 2)
  17. windows无法连接到打印机
  18. [转]作为黑客的你应该拥有的10个小工具
  19. Error: docker-ce conflicts with 2:docker-1.13.1-209.git7d71120.el7.centos.x86_64
  20. 整理全网文档管理平台,持续跟更新

热门文章

  1. erlang 开源项目之 Bigwig
  2. GIVE 添加 bigWig 文件
  3. 问路全球化,富途、老虎需要突围两个关键词
  4. 与数学式对应的c语言表达式例题,【填空题】已有定义\double n;\,则数学公式“ n(4 一1)”对应的C语言表达式_____...
  5. 测试硬盘,ssd,优盘读取速度
  6. 下载后端传来的excel文件
  7. 万豪酒店集团5亿客户记录泄露
  8. python-图片颜色转换-将红绿两色互换
  9. 开源应用中心 | KodBox快捷高效的私有云在线文档管理系统
  10. 小米9 MIUI12.5 红米 K40s MIUI13.0.10 安装谷歌框架