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

上海网站建设排名公司哪家好动易cms下载

上海网站建设排名公司哪家好,动易cms下载,辽宁省住房和城乡建设厅网站换了,做汽车介绍视频的网站吗SQL介绍-DQL查询数据 一.基础查询二.条件查询三.排序查询1.聚合函数2.分组查询 四.分页查询 DQL查询基础的语法结构如下: SELECT字段列表 FROM表名列表 WHERE条件列表 GROUP BY分组字段 HAVING分组后条件 ORDER BY排序字段 LIMIT分页限定一.基础查询 说明语法查询…

SQL介绍-DQL查询数据

  • 一.基础查询
  • 二.条件查询
  • 三.排序查询
    • 1.聚合函数
    • 2.分组查询
  • 四.分页查询

DQL查询基础的语法结构如下:

SELECT字段列表
FROM表名列表
WHERE条件列表
GROUP BY分组字段
HAVING分组后条件
ORDER BY排序字段
LIMIT分页限定

一.基础查询

说明语法
查询多个字段SELECT 字段列表 FROM 表名;
SELECT * FROM 表名; -- 查询所有数据
去除重复记录SELECT DISTINCT 字段列表 FROM 表名;
起别名列名 AS 别名(AS也可以省略)
-- 先建立新的表
drop table if exists stu;
-- 创建stu表
CREATE TABLE stu (
id int,-- 编号
name varchar(20),-- 姓名
age int,-- 年龄
sex varchar(5),-- 性别
address varchar(100),-- 地址,
math double(5,2),-- 数学成绩,
english double(5,2),-- 英语成绩
hire_date date -- 入学时间
);-- 添加数据
INSERT INTO stu(id,NAME,age,sex,address,math,english,hire_date)
VALUES
(1,'马运',55,'男','杭州',66,78,'1995-09-01'), 
(2,'马花疼',45,'女','深圳',98,87,'1998-09-01'),
(3,'马斯克',55,'男','香港',56,77,'1999-09-02'),
(4,'柳白',20,'女','湖南',76,65,'1997-09-05'),
(5,'柳青',20,'男','湖南',86,NULL,'1998-09-01'),
(6,'刘德花',57,'男','香港',99,99,'1998-09-01'),
(7,'张学右',22,'女','香港',99,99,'1998-09-01'),
(8,'德玛西亚',18,'男','南京',56,65,'1994-09-02');
SELECT * FROM stu;
-- 基础查询
-- 查询name age两列
SELECT name,age FROM stu;-- 查询所有列的数据,用*指代所有列的数据,但是不推荐使用
SELECT * FROM stu;-- 查询地址信息,这时候查询出来的信息有重复记录
SELECT address FROM stu;-- 去除重复可以通过DISTINCT关键字
SELECT DISTINCT address FROM stu;-- 查询姓名,数学成绩,英语成绩,并用别名代替原有列名
-- 可以通过AS关键字来起别名,也可以省略
SELECT name AS 姓名,math 数学成绩,english 英语成绩 FROM stu;

二.条件查询

  • 条件查询的语法很简单但是要结合不同的条件表达式去使用
    SELECT 字段列表 FROM 表名 WHERE 条件列表;
符号功能
\>, \<大于, 小于
\>=, \<=大于等于, 小于等于
=等于
\<\> 或 !=不等于
BETWEEN ... AND ...在某个范围内(都包含)
IN(...)多选一
LIKE 占位符模糊查询 _单个任意字符 %多个任意字符
IS NULL是NULL
IS NOT NULL不是NULL
AND 或 &&并且
OR 或||或者
NOT 或 !

解下来通过实际的需求来体验这些语句的作用

SELECT * FROM stu;
-- 查询年龄大于20岁的学院的信息
SELECT * FROM stu WHERE age > 20;-- 查询年龄大于等于20的学员的信息
SELECT * FROM stu WHERE age >= 20;-- 查询年龄大于等于20岁但是小于等于30岁的学员信息
SELECT id,name 姓名,age 年龄 FROM stu WHERE age>=20 AND age<=30;
SELECT * FROM stu WHERE age BETWEEN 20 AND 30;-- 查询入学日期在1998-09-01到1999-09-01之间的学员信息
SELECT * FROM stu WHERE hire_date BETWEEN '1998-09-01' and '1999-09-01';-- 查询年龄等于18岁的信息
SELECT * FROM stu WHERE age=18;-- 查询年龄不等于18的学员信息
SELECT * FROM stu WHERE age != 18;
SELECT * FROM stu WHERE age <> 18;-- 查询年龄等于18,20,22的信息
SELECT * FROM stu WHERE age=18 OR age=20 OR age=22;
SELECT * FROM stu WHERE age IN(18,20,22);-- 查询英语成绩为NULL的信息(NULL值的比较不能使用=或!=)
SELECT * FROM stu WHERE english IS NULL;-- 查询英语成绩不为NULL的信息
SELECT * FROM stu WHERE english IS NOT NULL;
  • 模糊查询LIKE 占位符
-- 模糊查询LIKE
-- 通配符 _ 代表单个任意字符
-- 通配符 % 代表多个任意字符-- 查询姓马的学员信息
SELECT * FROM stu WHERE name LIKE '马%';-- 查询名字第二个字是花的学员信息
SELECT * FROM stu WHERE name LIKE '_花%';-- 查询名字中包含 德 的学员信息
SELECT * FROM stu WHERE name LIKE '%德%';

三.排序查询

  • 具体语法
    SELECT 字段列表 FROM 表名 ORDER BY 排序字段1 [排序方式1],排序字段2 [排序方式2] ...;
  • 排序方式
    ASC: 升序排列(默认值)
    DESC: 降序排列
  • 当有多个条件时,只有前边的条件一样的时候,才会根据后边的条件进行排序
-- 查询学员信息,按年龄进行升序排列
SELECT * FROM stu ORDER BY age ASC;
SELECT * FROM stu ORDER BY age; -- ASC是默认的,不进行指定也可以打到效果-- 查询信息,按照数学成绩降序排列
SELECT * FROM stu ORDER BY math DESC;-- 查询信息,按数学成绩降序排列,如果成绩一样,按英语成绩升序排列
SELECT * FROM stu ORDER BY math DESC,english ASC;

1.聚合函数

  • 聚合函数是把一列作为一个整体,进行纵向计算的.
    SELECT 函数名(列名) FROM 表;
函数名作用
count(列名)统计数量(一般选用不为NULL的列)
max(列名)统计最大值
min(列名)统计最小值
sum(列名)求和
avg(列名)求平均
-- 聚合函数
-- 查班上一共有多少个学生  COUNT(expr)统计的列名不能为NULL
/*count推荐的取值:1.主键2.*(新版MySQL中会计算效率最高的一列)
*/
SELECT COUNT(id) FROM stu;
SELECT COUNT(name) FROM stu;
-- COUNT(expr)统计的列名不能为NULL,空值是统计不到的会出错!!!
SELECT COUNT(english) FROM stu;-- 查询数学成绩的最高分
SELECT MAX(math) FROM stu;
-- 查询数学成绩的最低分
SELECT MIN(math) FROM stu;
-- 查询数学成绩的平均分
SELECT AVG(math) FROM stu;-- 查询英语成绩的最低分  注意NULL值不参与聚合函数的运算
SELECT MIN(english) FROM stu;

2.分组查询

  • 基本语法
    SELECT 字段列表 FROM 表名 [WHERE 分组前限定条件] GROUP BY 分组字段名 [HAVING 分组后条件过滤]
    注意分组之后,查询的字段为聚合函数和分组字段,查询其他的字段无任何意义
  • WHEREHAVING的区别
    – 执行时机不一样:WHERE是分组之前进行限定,不满足WHERE条件则不参与分组,HAVING是分组之后对结果进行过滤
    – 可判断的条件不一样: WHERE不能对聚合函数进行判断, HAVING可以
    – 执行顺序:WHERE> 聚合函数 > HAVING
-- 查询男同学和女同学各自的数学平均分
SELECT sex 性别,AVG(math) 平均分 FROM stu GROUP BY sex;-- 查询男女各自的平均分以及各自的人数
SELECT sex 性别,AVG(math) 平均分,COUNT(*) 人数 FROM stu GROUP BY sex;-- 查询男女各自的数学平均分,统计人数. 要求分数低于70分的人不参与分组
SELECT sex 性别,AVG(math) 数学均分,COUNT(*) 人数 FROM stu WHERE math>70 GROUP BY sex;-- 查询男女各自的数学平均分,统计人数. 要求分数低于70分的人不参与分组,分组后人数大于2人的数据
SELECT sex 性别,AVG(math) 平均分,COUNT(*) 人数 FROM stu WHERE math>70 GROUP BY sex HAVING COUNT(*)>2;

四.分页查询

  • 语法 SELECT 字段列表 FROM 表名 LIMIT 起始索引 , 查询条目数;
  • 起始索引: 从零开始
    计算公式:起始索引=(当前页码-1) * 每页显示的条数
  • 分页查询是MySQL的方言
    Oracle分页查询使用rownumber
    SQL Server分页查询使用top
-- 从0开始查询3条数据
SELECT * FROM stu LIMIT 0,3;-- 每页显示3条数据,查询第一页
SELECT * FROM stu LIMIT 0,3;-- 每页显示3条数据,查询第二页
SELECT * FROM stu LIMIT 3,3;-- 每页显示3条数据,查询第三页
SELECT * FROM stu LIMIT 6,6;

B站视频课程
笔记与源码文件

http://www.yayakq.cn/news/712160/

相关文章:

  • 做那个网站的图客比较好ueditor wordpress4.6
  • frontpage新建网站河北网络营销推广seo
  • 网站建站网站的京东商城网站建设目的
  • 余姚网站建设设计品牌网站建设解决方
  • wordpress 网站暂停网站建设及数据分析
  • 网站后台代码如何做域名绑定网站需要多久
  • 网站维护工程师薪酬工作是工作
  • 建站找哪个公司句容论坛
  • 网站维护具体工作内容网站建设中网站需求分析报告
  • 天河门户网站建设公司四川省人事考试网
  • 北海网站建设网络公司电竞网站方案设计
  • 网站内容多 询盘西安风险等级最新
  • 郑州优化网站包装网站建设
  • 做电商网站php开发的流程自己做一网站
  • 清溪网站仿做专门做排名的软件
  • 美度手表网站html电商网页制作
  • 苏州网站建设报价建设企业官方网站企业登录
  • 乐清网站建设乐清网站设计网站服务器大小
  • 企业网站的类型有哪些淄博网站建设兼职
  • 宁波免费自助建站模板北京建设注册中心网站
  • wordpress文章接口网站的seo优化方案
  • c 网站开发模板昆山建设招投标网站
  • 免域名x网站知名网站建设公司好吗
  • 雷州手机网站建设公司南山商城网站建设多少钱
  • 深圳高端商场排名长沙企业网站优化
  • 广州 网站制作seo研究所
  • 做网站的公司哪个好公司企业制度体系建设
  • 网站后台空间满了怎么办遵义城乡住房建设厅网站
  • 房地产微网站模板商品推广软文范例200字
  • 加快网站速度吗网站开发使用哪些开发语言