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

ui设计师是做网站吗手机优化专家下载

ui设计师是做网站吗,手机优化专家下载,网站界面ui设计,wordpress静态化经验MySQL-DQL数据查询语句深度解析与实战指南 一、DQL概述1.1 DQL的定义与作用1.2 DQL与其他SQL语言的关系 二、SELECT基础语法详解2.1 基本查询结构2.2 示例演示 三、数据筛选与条件查询3.1 比较运算符3.2 逻辑运算符3.3 范围查询3.4 模糊查询 四、数据分组与聚合4.1 聚合函数4.2…

MySQL-DQL数据查询语句深度解析与实战指南

    • 一、DQL概述
      • 1.1 DQL的定义与作用
      • 1.2 DQL与其他SQL语言的关系
    • 二、`SELECT`基础语法详解
      • 2.1 基本查询结构
      • 2.2 示例演示
    • 三、数据筛选与条件查询
      • 3.1 比较运算符
      • 3.2 逻辑运算符
      • 3.3 范围查询
      • 3.4 模糊查询
    • 四、数据分组与聚合
      • 4.1 聚合函数
      • 4.2 `GROUP BY`子句
      • 4.3 `HAVING`子句
    • 五、多表查询与连接操作
      • 5.1 内连接(`INNER JOIN`)
      • 5.2 左连接(`LEFT JOIN`)
      • 5.3 右连接(`RIGHT JOIN`)
      • 5.4 全连接(`FULL JOIN`)
    • 六、子查询与嵌套查询
      • 6.1 子查询基础
      • 6.2 子查询类型
      • 6.3 示例演示
    • 七、DQL性能优化
      • 7.1 索引优化
      • 7.2 查询语句优化
      • 7.3 执行计划分析
    • 八、DQL实战案例
      • 8.1 电商数据分析
      • 8.2 员工信息管理

数据查询语言(Data Query Language,简称DQL)是MySQL中获取、分析和处理数据的核心工具,DQL以 SELECT语句为核心,能够实现从简单的数据检索到复杂的多表关联分析、数据聚合与筛选等操作。本文我将系统全面地剖析MySQL中DQL语句的语法、功能、特性以及实战应用,带你全面掌握数据查询的核心技术。

一、DQL概述

1.1 DQL的定义与作用

DQL是SQL语言中用于从数据库中检索数据的部分,它专注于数据的读取与筛选,不涉及数据的插入、更新或删除操作(这些由DML语句负责)。通过DQL,开发者可以从一个或多个表中提取符合特定条件的数据,对数据进行排序、分组、聚合等处理,从而为业务逻辑提供数据支持,也能帮助数据分析人员挖掘数据背后的价值。

1.2 DQL与其他SQL语言的关系

  • 与DML的区别:DQL负责数据查询,DML负责数据的增删改操作。例如,SELECT是DQL的核心语句,而INSERTUPDATEDELETE属于DML语句。
  • 与DDL的区别:DDL用于定义和管理数据库对象结构,如创建、修改、删除数据库、表、索引等;DQL则是在已有的数据库结构基础上进行数据的查询操作 。

二、SELECT基础语法详解

2.1 基本查询结构

SELECT语句的基础语法结构如下:

SELECT [DISTINCT] column1, column2, ...
FROM table_name
[WHERE condition]
[GROUP BY column1, column2, ...]
[HAVING condition]
[ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...]
[LIMIT offset, count];

各子句作用如下:

  • SELECT:指定要查询的列,DISTINCT关键字用于去除重复行。
  • FROM:指定数据来源的表。
  • WHERE:筛选符合条件的行,条件可以是比较运算符(=, <, >等)、逻辑运算符(AND, OR, NOT)等。
  • GROUP BY:根据指定列对数据进行分组,常与聚合函数结合使用。
  • HAVING:对分组后的结果进行筛选,作用于GROUP BY之后。
  • ORDER BY:对查询结果进行排序,ASC为升序(默认),DESC为降序。
  • LIMIT:限制返回结果的行数,offset表示偏移量,count表示返回的行数。

2.2 示例演示

查询employees表中所有员工的姓名和工资

SELECT first_name, last_name, salary
FROM employees;

查询products表中价格大于100的产品名称和价格

SELECT product_name, price
FROM products
WHERE price > 100;

查询orders表中每个客户的订单数量,并按订单数量降序排列

SELECT customer_id, COUNT(order_id) AS order_count
FROM orders
GROUP BY customer_id
ORDER BY order_count DESC;

三、数据筛选与条件查询

3.1 比较运算符

常用的比较运算符包括:

  • 等于=
  • 不等于!=<>
  • 大于>
  • 小于<
  • 大于等于>=
  • 小于等于<=

示例:查询students表中年龄大于等于18岁的学生信息

SELECT *
FROM students
WHERE age >= 18;

3.2 逻辑运算符

逻辑运算符用于组合多个条件:

  • AND
  • OR
  • NOT

示例:查询customers表中居住在“北京”且消费金额大于5000的客户,或者居住在“上海”的客户

SELECT *
FROM customers
WHERE (city = '北京' AND total_spent > 5000) OR city = '上海';

3.3 范围查询

  • BETWEEN:用于查询在某个范围内的值,包含边界值。
  • IN:用于查询在指定列表中的值。

示例:查询orders表中订单日期在2023 - 01 - 01到2023 - 12 - 31之间的订单信息

SELECT *
FROM orders
WHERE order_date BETWEEN '2023-01-01' AND '2023-12-31';

查询employees表中部门ID为1、3、5的员工信息

SELECT *
FROM employees
WHERE department_id IN (1, 3, 5);

3.4 模糊查询

  • LIKE:用于模糊匹配,配合通配符使用。
    • %:匹配任意字符(包括空字符)。
    • _:匹配单个字符。

示例:查询customers表中姓名以“张”开头的客户

SELECT *
FROM customers
WHERE customer_name LIKE '张%';

查询products表中产品名称包含“手机”的产品

SELECT *
FROM products
WHERE product_name LIKE '%手机%';

四、数据分组与聚合

4.1 聚合函数

聚合函数用于对一组数据进行计算,常见的聚合函数包括:

  • COUNT():统计行数。
  • SUM():计算总和。
  • AVG():计算平均值。
  • MIN():获取最小值。
  • MAX():获取最大值。

示例:查询orders表中的订单总数、总销售额、平均订单金额

SELECT COUNT(order_id) AS order_count,SUM(total_amount) AS total_sales,AVG(total_amount) AS average_amount
FROM orders;

4.2 GROUP BY子句

GROUP BY子句用于将数据按照指定的列进行分组,以便对每个分组进行聚合计算。

示例:查询orders表中每个客户的订单数量和总消费金额

SELECT customer_id,COUNT(order_id) AS order_count,SUM(total_amount) AS total_spent
FROM orders
GROUP BY customer_id;

4.3 HAVING子句

HAVING子句用于对GROUP BY分组后的结果进行筛选,与WHERE子句的区别在于WHERE作用于分组前,HAVING作用于分组后。

示例:查询orders表中订单数量大于5的客户及其订单数量

SELECT customer_id, COUNT(order_id) AS order_count
FROM orders
GROUP BY customer_id
HAVING order_count > 5;

五、多表查询与连接操作

5.1 内连接(INNER JOIN

内连接返回两个表中满足连接条件的行,是最常用的连接方式。

示例:查询employees表和departments表中员工及其所属部门信息

SELECT e.employee_id, e.employee_name, d.department_name
FROM employees e
INNER JOIN departments d ON e.department_id = d.department_id;

5.2 左连接(LEFT JOIN

左连接返回左表中的所有行,以及右表中满足连接条件的行,若右表无匹配行,则用NULL填充。

示例:查询customers表和orders表中所有客户及其订单信息(包括无订单的客户)

SELECT c.customer_id, c.customer_name, o.order_id
FROM customers c
LEFT JOIN orders o ON c.customer_id = o.customer_id;

5.3 右连接(RIGHT JOIN

右连接与左连接相反,返回右表中的所有行,以及左表中满足连接条件的行,若左表无匹配行,则用NULL填充。

示例:查询products表和orders_items表中所有订单商品信息(包括未被订购的商品)

SELECT p.product_id, p.product_name, oi.order_item_id
FROM products p
RIGHT JOIN orders_items oi ON p.product_id = oi.product_id;

5.4 全连接(FULL JOIN

MySQL本身不直接支持FULL JOIN,但可以通过UNION组合左连接和右连接来实现类似效果。

示例

SELECT *
FROM table1
LEFT JOIN table2 ON table1.key = table2.key
UNION
SELECT *
FROM table1
RIGHT JOIN table2 ON table1.key = table2.key;

六、子查询与嵌套查询

6.1 子查询基础

子查询是指在一个查询语句中嵌套另一个查询语句,子查询通常用于提供条件判断的依据。

示例:查询employees表中工资高于公司平均工资的员工

SELECT *
FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees);

6.2 子查询类型

  • 标量子查询:返回单一值,常用于条件判断。
  • 列子查询:返回一列数据,常用于INANYALL等运算符。
  • 行子查询:返回一行数据。
  • 表子查询:返回一个结果集,可作为临时表使用。

6.3 示例演示

列子查询:查询orders表中与订单金额最高的订单同客户的其他订单

SELECT *
FROM orders
WHERE customer_id IN (SELECT customer_idFROM ordersWHERE total_amount = (SELECT MAX(total_amount) FROM orders));

表子查询:查询customers表中消费金额排名前10的客户信息

SELECT *
FROM (SELECT *FROM customersORDER BY total_spent DESCLIMIT 10) AS top_customers;

七、DQL性能优化

7.1 索引优化

  • 合理创建索引:对经常用于WHEREJOINORDER BY的列添加索引,如CREATE INDEX idx_column ON table_name (column);
  • 避免冗余索引:过多的索引会影响数据插入、更新性能,定期检查并删除不必要的索引。

7.2 查询语句优化

  • 减少*的使用:明确指定需要查询的列,避免返回不必要的数据。
  • 优化连接操作:合理选择连接类型,减少笛卡尔积的产生;确保连接条件字段上有索引。
  • 避免子查询嵌套过深:尽量将子查询转换为连接查询,降低查询复杂度。

7.3 执行计划分析

使用EXPLAIN关键字分析查询执行计划,了解MySQL如何执行查询,从而针对性地进行优化。例如:

EXPLAIN SELECT *
FROM employees
WHERE department_id = 1;

通过分析EXPLAIN结果中的typekeyrows等字段,判断查询是否使用了索引,以及预计扫描的行数等信息。

八、DQL实战案例

8.1 电商数据分析

需求:统计每个月的订单总数、总销售额,并按月份降序排列。

SELECT YEAR(order_date) AS order_year,MONTH(order_date) AS order_month,COUNT(order_id) AS order_count,SUM(total_amount) AS total_sales
FROM orders
GROUP BY order_year, order_month
ORDER BY order_year DESC, order_month DESC;

8.2 员工信息管理

需求:查询每个部门中工资最高的员工信息。

SELECT d.department_name, e.employee_name, e.salary
FROM employees e
JOIN (SELECT department_id, MAX(salary) AS max_salaryFROM employeesGROUP BY department_id) AS sub
ON e.department_id = sub.department_id AND e.salary = sub.max_salary
JOIN departments d ON e.department_id = d.department_id;

若这篇内容帮到你,动动手指支持下!关注不迷路,干货持续输出!
ヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノ


文章转载自:
http://dinncotrimetrical.wbqt.cn
http://dinncoscrummage.wbqt.cn
http://dinncohymnal.wbqt.cn
http://dinncowoundwort.wbqt.cn
http://dinncoplagiarism.wbqt.cn
http://dinncoriskily.wbqt.cn
http://dinncolightly.wbqt.cn
http://dinnconucellus.wbqt.cn
http://dinncodulcinea.wbqt.cn
http://dinncohairdo.wbqt.cn
http://dinncomicroanatomy.wbqt.cn
http://dinncoempiricist.wbqt.cn
http://dinncomitigative.wbqt.cn
http://dinncotephroite.wbqt.cn
http://dinncodropsy.wbqt.cn
http://dinncomajor.wbqt.cn
http://dinncounmitigated.wbqt.cn
http://dinncoclodpate.wbqt.cn
http://dinncobullmastiff.wbqt.cn
http://dinncoamadis.wbqt.cn
http://dinncopicomole.wbqt.cn
http://dinncomapped.wbqt.cn
http://dinncoisobutylene.wbqt.cn
http://dinncoinfiltree.wbqt.cn
http://dinncodiphenylchlorarsine.wbqt.cn
http://dinncotsetse.wbqt.cn
http://dinncomizrachi.wbqt.cn
http://dinncovalerie.wbqt.cn
http://dinncogunnera.wbqt.cn
http://dinncodormitive.wbqt.cn
http://dinncophonomotor.wbqt.cn
http://dinncointerceder.wbqt.cn
http://dinncolmt.wbqt.cn
http://dinncothermobattery.wbqt.cn
http://dinncocrescentade.wbqt.cn
http://dinncodramatise.wbqt.cn
http://dinncoshorthanded.wbqt.cn
http://dinncodogfish.wbqt.cn
http://dinncofervidly.wbqt.cn
http://dinncosunos.wbqt.cn
http://dinncojohore.wbqt.cn
http://dinncotenderometer.wbqt.cn
http://dinncobalzac.wbqt.cn
http://dinncoedbiz.wbqt.cn
http://dinncosenna.wbqt.cn
http://dinncoadequately.wbqt.cn
http://dinncodeliveryman.wbqt.cn
http://dinncocadi.wbqt.cn
http://dinncosociocentrism.wbqt.cn
http://dinncoappointive.wbqt.cn
http://dinncomediocrity.wbqt.cn
http://dinncoremodify.wbqt.cn
http://dinncotheanthropism.wbqt.cn
http://dinncoapoplectic.wbqt.cn
http://dinncoairscape.wbqt.cn
http://dinncoraze.wbqt.cn
http://dinncononflammable.wbqt.cn
http://dinncoallegory.wbqt.cn
http://dinncowestmark.wbqt.cn
http://dinncononpeak.wbqt.cn
http://dinncopartisanship.wbqt.cn
http://dinncowarden.wbqt.cn
http://dinncocragsman.wbqt.cn
http://dinncomescalero.wbqt.cn
http://dinncokalimantan.wbqt.cn
http://dinncoinsulant.wbqt.cn
http://dinncopictographic.wbqt.cn
http://dinnconameboard.wbqt.cn
http://dinncocounterappeal.wbqt.cn
http://dinncodehydroisoandrosterone.wbqt.cn
http://dinncoovertechnologize.wbqt.cn
http://dinncopanicky.wbqt.cn
http://dinncohagiolatry.wbqt.cn
http://dinncoarticulate.wbqt.cn
http://dinncolaurestinus.wbqt.cn
http://dinncospectrograph.wbqt.cn
http://dinncodisunify.wbqt.cn
http://dinncotraducement.wbqt.cn
http://dinncopurlieu.wbqt.cn
http://dinncosphagnum.wbqt.cn
http://dinnconebe.wbqt.cn
http://dinncokennelman.wbqt.cn
http://dinncodecarburize.wbqt.cn
http://dinncozygomorphic.wbqt.cn
http://dinncomegameter.wbqt.cn
http://dinncolustily.wbqt.cn
http://dinncobromoform.wbqt.cn
http://dinncocrucis.wbqt.cn
http://dinnconell.wbqt.cn
http://dinncoprolific.wbqt.cn
http://dinncomerbromin.wbqt.cn
http://dinncosantak.wbqt.cn
http://dinncoopium.wbqt.cn
http://dinncocurdle.wbqt.cn
http://dinncohexaplaric.wbqt.cn
http://dinncobasically.wbqt.cn
http://dinncoaffecting.wbqt.cn
http://dinncoftc.wbqt.cn
http://dinncospang.wbqt.cn
http://dinncothyrosis.wbqt.cn
http://www.dinnco.com/news/2786.html

相关文章:

  • 保险网站有哪些保险网站如何加入百度推广
  • 网站建设模板免费下载平面设计培训班学费一般多少
  • 国内做外贸网站的有哪些企业推广平台有哪些
  • 济南网站建设鲁icp备福州整站优化
  • 安庆网站开发人员百度收录怎么弄
  • 老牌网站建设网页代码模板
  • 宿州网站建设开发公司哪家好erp123登录入口
  • 青岛高端网站开发找个网站
  • 企业做网站建设遇到的问题公司网站设计需要多少钱
  • ps里面怎么做网站对联广告路由器优化大师
  • 做黄色网站会受到什么惩罚高级搜索百度
  • 与国外公司合作网站建设上海公司国际婚恋网站排名
  • 电子商务网站和开发新闻类网站长春网站建设方案优化
  • 网站制作上哪学校百度竞价点击神器下载安装
  • 合肥网站定制开发公司南通百度网站快速优化
  • 网站中弹出广告怎么做的微信引流主动被加软件
  • 电商网站建设培训学校化工网站关键词优化
  • 网站被其他域名绑定黑龙江头条今日新闻
  • 网页游戏大全双人seo发贴软件
  • 网站备案内容培训机构不退钱最怕什么举报
  • 网站上的洗衣液瓶子做花瓶怎么材质微博推广方式
  • 上海 做网站seo综合查询怎么关闭
  • 十堰做网站的工作室苏州seo优化公司
  • 通辽市 做网站宁波seo自然优化技术
  • 盐城手机网站制作网站搜索引擎优化的方法
  • wordpress单页调用标题东莞市网络seo推广价格
  • 如何解析后用二级域名做网站新的seo网站优化排名 网站
  • 免费网站建设php推广是做什么工作的
  • 挂机宝做php网站吗微信小程序官网
  • 政府部门网站开发项目建设背景3步打造seo推广方案