当前位置: 首页 > news >正文

基础—SQL—DQL(数据查询语言)基础查询

一、引言

1、介绍:
分类全称描述
DQL英文全称:Data Query Language(数据查询语言)主要是学习对数据库表中的记录进行查询的语句
2、讲解 

    日常的开发中或者对于一个正常的业务系统中,对于查询的操作次数是远远多于数据的增删改的频次。例如在访问一些公司的官网的时候,官网当中所展示的数据包含学科的数据、包含课程的数据,还有资源的数据等等,这些数据都需要从数据库查询出来,然后才在界面展示。

    或者在点击搜索的时候,这个时候也需要去查询对应的数据库,还可以选择对应的查询条件(品牌、价格等等)进行查询并展示,还能进行升序或者降序排序。这些操作其实都是涉及到数据库的查询操作。

3、关键字
  • SELECT

二、 DQL—语法

SELECT

             字段列表   

FROM

           表名列表

WHERE 

           条件列表

GROUP BY

           分组字段列表

HAVING

           分组后条件列表

ORDER BY

           排序字段列表

LIMT  

           分页参数

注释

1、字段列表:指的是我们要查询哪些字段

2、表名列表:现在我这里刚开始学,只涉及单表查询,多表查询后面会专门介绍

3、条件列表:例如根据品牌、价格进行范围查询,这些都是属于查询的条件,我们可以有多个条件

4、排序字段列表:升序或降序

三、分块学习并介绍

  • 基本查询
  • 条件查询( WHERE )
  • 聚合函数( count、max、min、avg、sum )
  • 分组查询( GROUP BY )
  • 排序查询( ORDER BY )
  • 分页查询( LIMIT )

四、DQL—基本查询

  • 查询多个字段

SELECT 字段1,字段2,字段3... FROM 表名;

SELECT * FROM 表名;

注释:' * ' 号代表查询返回所有字段。

  • 设置别名

SELECT 字段1 [ AS 别名1 ],字段2 [ AS 别名2 ] ... FROM 表名;

注意:对于查询返回的字段我们是可以设置别名的,以便来增强字段的可读性,当然别名的字段可以有,也可以不设置。

  • 去重复记录

 SELECT DISTINCT 字段列表 FROM 表名;

 

注意:distinct:不同的,这个时候就会对查询返回的字段进行去重字段。

五、操作 

(1)前期先准备将要操作的数据
CREATE TABLE emp (id INT COMMENT'编号',workno VARCHAR(10) COMMENT'工号',name VARCHAR(10) COMMENT'姓名',gender CHAR(1) COMMENT'性别',age TINYINT UNSIGNED COMMENT '年龄',idcard CHAR(18) COMMENT '身份证号',workaddress VARCHAR(50) COMMENT '工作地址',entrydate DATE COMMENT '入职时间'
) COMMENT '员工表';
DESC emp;

INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate)
VALUES (1,'1','柳岩','女',20,'123456789012345678 ','北京','2000-01-01'),(2,'2','张无忌','男',18,'123456789012345670','北京','2005-09-01'),(3,'3','韦一笑','男',38,'123456789712345670','上海','2005-08-01'),(4,'4','赵敏','女',18,'123456757123845670','北京','2009-12-01'),(5,'5','小昭','女',16,'123456769012345678','上海','2007-07-01 '),(6,'6','杨逍','男',28,'12345678931234567X','北京','2006-01-01'),(7,'7','范瑶','男',40,'123456789212345670','北京','2005-05-01'),(8,'8','黛绮丝','女',38,'123456157123645670','天津','2015-05-01'),(9,'9','范凉凉','女',45,'123156789012345678','北京','2010-04-01'),(10,'10','陈友谅','男',53,'123456789012345670','上海','2011-01-01'),(11,'11','张士诚','男',55,'123567897123465670','江苏','2015-05-01'),(12,'12','常遇春','男',32,'123446757152345670','北京','2004-02-01'),(13,'13','张三丰','男',88,'123656789012345678','江苏','2020-11-01'),(14,'14','灭绝','女',65,'123456719012345670','西安','2019-05-01'),(15,'15','胡青牛','男',70,'2345674971234567X','西安','2018-04-01 '),(16,'16','周芷若','女',18, null,'北京','2012-06-01');

用 SELECT * FORM 表 查看一下整张表的数据

(2)基于上面表:emp 完成所有基础查询操作

1、查询指定字段 name、workno,、age 并返回
SELECT name,workno,age FROM emp;

 2、查询所有字段返回
SELECT * FROM emp;
/* 或者 */
SELECT id, workno, name, gender, age, idcard, workaddress, entrydate FROM emp;

注意: 在实际开发中,尽量不要写 ' * ' 进行查询,首先它不直观,其次它影响效率。

 3、查询所有员工的工作地址,并起别名
SELECT workaddress AS '工作地址' FROM emp;

这里 ‘AS’ 可以省略不写,效果一样,也就是直接写别名 

SELECT workaddress '工作地址' FROM emp;

 4、查询公司员工的上班地址(不要重复)
SELECT DISTINCT workaddress '工作地址' FROM emp;

http://www.lryc.cn/news/357797.html

相关文章:

  • 【QT八股文】系列之篇章2 | QT的信号与槽机制及通讯流程
  • excel表格里怎样不删除0,又不显示0呢?
  • 精准操控时间的艺术:JavaScript节流函数的深度探索与实践【含代码示例】
  • 自学SPSS,有哪些教学视频或书籍推荐?
  • 开源数据库同步工具DBSyncer
  • 【SpringMVC】_SpringMVC项目返回HTML与JSON
  • STL库--stack
  • 从System Prompt来看Claude3、Kimi和ChatGLM4之间的差距
  • (精确度,召回率,真阳性,假阳性)ACC、敏感性、特异性等 ROC指标
  • Docker安装nginx详细教程
  • FineBI学习总结
  • 现代操作系统上创建各类链接的方法汇总
  • CSS中的Flex布局
  • 基于扩散模型的,开源世界模型DIAMOND
  • 【MySQL精通之路】InnoDB存储引擎
  • 【创作活动】探索 GPT-4o:下一代语言模型的技术革命
  • 【热门话题】Debian常用命令指南
  • 人大金仓 KingBase查询死锁,释放死锁
  • C++高手进阶:Windows 模块加载的艺术与策略
  • 基于STM32单片机老人体温心率血氧跌倒定位短信报警
  • 【测评】雨云香港三区云服务器,2核2G 5兆,仅需38元/月
  • 如何应对Android面试官 -> 玩转 Fragment
  • sdbusplus:通过文件描述符传递数据
  • HyperLPR3 车牌识别
  • 面试的内容
  • 剪映网页版
  • pgsql
  • Kotlin学习笔记 泛型
  • 开发者必看:Linux终端的10大装逼神器,让你的命令行炫酷起来!
  • 20 VUE学习:插件