您的位置:首页 > 娱乐 > 八卦 > 基础—SQL—DQL(数据查询语言)基础查询

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

2024/10/6 22:23:37 来源:https://blog.csdn.net/m0_74363339/article/details/139291759  浏览:    关键词:基础—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;

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com