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

营销网站建设规划网站制作流程是什么

营销网站建设规划,网站制作流程是什么,法院政务网站群建设,手机电影网站怎么做的文章目录 SQL 中的分组查询与联合查询详解 1. GROUP BY分组查询 1.1 语句格式1.2 示例说明 1.2.1 分别查询哥哥组和弟弟组的英语成绩总和1.2.2 查询哥哥组的所有成绩总和 2. 联合查询 2.1 内连接 2.1.1 语法格式2.1.2 执行过程 2.2 外连接 2.2.1 左外连接2.2.2 右外连接 2.3 …
文章目录
  • SQL 中的分组查询与联合查询详解
    • 1. GROUP BY分组查询
      • 1.1 语句格式
      • 1.2 示例说明
        • 1.2.1 分别查询哥哥组和弟弟组的英语成绩总和
        • 1.2.2 查询哥哥组的所有成绩总和
    • 2. 联合查询
      • 2.1 内连接
        • 2.1.1 语法格式
        • 2.1.2 执行过程
      • 2.2 外连接
        • 2.2.1 左外连接
        • 2.2.2 右外连接
      • 2.3 自连接
      • 2.4 子查询
        • 2.4.1 单行子查询
        • 2.4.2 多行子查询
      • 2.5 合并查询
        • 2.5.1 显示去重
        • 2.5.2 不显示去重
      • 2.6 一条SQL语句的执行顺序

SQL 中的分组查询与联合查询详解

在数据库操作中,GROUP BY分组查询和联合查询是非常强大且常用的功能,它们能够帮助我们从大量数据中提取有价值的信息。本文将深入探讨这两种查询方式,并结合具体示例进行详细讲解。

1. GROUP BY分组查询

1.1 语句格式

GROUP BY语句的基本格式如下:

SELECT分组列的列名,除分组列的列名之外只能使用聚合函数
FROM查询表的表名
GROUP BY分组列的列名
HAVINGHAVING子句:对GROUP BY的结果进行过滤(只能和GROUP BY一起使用)

在这个语句中,SELECT关键字用于指定要查询的列,其中除了分组列之外,其他列必须使用聚合函数(如SUMAVGCOUNT等)。FROM关键字指定要查询的表。GROUP BY关键字用于指定按照哪一列进行分组。HAVING子句则用于对分组后的结果进行进一步的筛选。

1.2 示例说明

假设有如下所示的exam表:

1.2.1 分别查询哥哥组和弟弟组的英语成绩总和
SELECTexam.`group`, SUM(exam.english)
FROMexam AS exam
GROUP BYexam.`group`

在这个查询中,我们使用GROUP BY将数据按照group列进行分组,然后使用SUM聚合函数计算每个组的英语成绩总和。执行结果如下:
在这里插入图片描述

1.2.2 查询哥哥组的所有成绩总和
SELECTexam.`group`,SUM( exam.english +exam.chinese+exam.math) 
FROMexam AS exam 
GROUP BYexam.`group` 
HAVINGexam.`group` ='哥哥组'

这里同样使用GROUP BY进行分组,不过在SUM函数中计算了每个学生的所有科目成绩总和。HAVING子句用于筛选出group哥哥组的记录。执行结果如下:
在这里插入图片描述

通过这两个示例,我们可以看到GROUP BY分组查询在对数据进行分类统计时的强大功能。它能够根据指定的列将数据分组,并对每个组的数据进行聚合计算,从而得到我们需要的统计信息。

2. 联合查询

联合查询用于将多个查询结果合并在一起,常见的联合查询包括内连接、外连接、自连接、子查询和合并查询等。下面我们将逐一介绍这些联合查询的用法。

2.1 内连接

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

2.1.1 语法格式
select * from table1,table2 where table1.xx=table2.xx;

这是一种基于逗号分隔的表名和WHERE子句指定连接条件的写法。更标准的写法是使用JOIN关键字:

SELECT *
FROM table1
JOIN table2 ON table1.xx = table2.xx;
2.1.2 执行过程

内连接的执行过程可以分为以下几个步骤:

  1. 计算笛卡尔积:首先计算参加表连接的两个表的笛卡尔积。例如,假设有qintianpeople表和qintiancommodity表,执行以下查询:

    SELECT
    *
    FROM
    qintianpeople,
    qintiancommodity

结果会得到两个表的笛卡尔积,即qintianpeople表中的每一行与qintiancommodity表中的每一行进行组合,结果集的行数为两个表行数的乘积。执行结果如下:

  1. 通过连接条件过滤无效数据:在笛卡尔积的基础上,通过连接条件过滤掉不满足条件的数据。例如:

    SELECT
    *
    FROM
    qintianpeople,
    qintiancommodity
    WHERE
    qintianpeople.people_id = qintiancommodity.people_id

这里使用WHERE子句指定了连接条件,只有people_id相等的行才会被保留。执行结果如下:

  1. 加入查询条件得到想要的结果行:可以进一步添加查询条件来筛选出符合特定要求的行。例如:

    SELECT
    *
    FROM
    qintianpeople,
    qintiancommodity
    WHERE
    qintianpeople.people_id = qintiancommodity.people_id AND
    qintianpeople.people_id>5

这里在连接条件的基础上,添加了qintianpeople.people_id>5的条件,进一步筛选出符合条件的行。执行结果如下:

  1. 精简列名得到最终想要查询的列:最后,可以根据需求选择需要显示的列,精简结果集。例如:

    SELECT
    qintianpeople.people_id,
    people_name,
    commodity_name
    FROM
    qintianpeople,
    qintiancommodity
    WHERE
    qintianpeople.people_id = qintiancommodity.people_id AND
    qintianpeople.people_id>5

这个查询只选择了people_idpeople_namecommodity_name这几列,得到了更精简的结果。执行结果如下:

2.2 外连接

外连接分为左外连接和右外连接,它们的区别在于以哪个表为基准进行连接。

2.2.1 左外连接

语法格式

Select * from table1 left join table2 on table1.xx=table2.xx;

左外连接以左表为基准,左边的数据全部显示,右边的数据没有对应记录的显示为NULL。例如:

SELECTqintianpeople.people_id,people_name,commodity_name
FROMqintiancommodityLEFT JOINqintianpeopleON qintiancommodity.people_id = qintianpeople.people_id

执行结果如下:

2.2.2 右外连接

语法格式

Select * from table1 right join table2 on table1.xx=table2.xx;

右外连接以右表为基准,右边的数据全部显示,左边的数据没有对应记录的显示为NULL。例如:

SELECTqintianpeople.people_id,people_name,commodity_name
FROMqintiancommodityRIGHT JOINqintianpeopleON qintiancommodity.people_id = qintianpeople.people_id

执行结果如下:

2.3 自连接

自连接是指在同一个表上进行连接操作,它可以把行比较转化为列比较,在查询时可以使用WHERE进行过滤。

语法格式

select * from table1 t1,table1 t2 where t1.xx=t2.xx;
2.4 子查询

子查询是指在一个查询中嵌套另一个查询,将内层查询的结果作为外层查询的条件。子查询可以分为单行子查询和多行子查询。

2.4.1 单行子查询

语法格式

Select * from table1 where id=(select id from table2 where...);

例如,假设有customers表和orders表,我们想要查询下了订单的客户信息,可以使用如下子查询:

SELECT *
FROM customers
WHERE customer_id IN (SELECT DISTINCT customer_id FROM orders);

这个子查询先从orders表中获取所有下过订单的customer_id,然后外层查询从customers表中查询这些customer_id对应的客户信息。

2.4.2 多行子查询

语法格式

Select * from table1 where id in (select id from table2 where...);

多行子查询与单行子查询类似,不过它返回的是多个值,使用IN关键字来匹配这些值。例如:

SELECT *
FROM products
WHERE product_id IN (SELECT product_id FROM order_items WHERE quantity > 10);

这个查询会返回在order_items表中被订购数量大于10的所有产品信息。

子查询可以多次嵌套,以实现更复杂的查询逻辑。例如:

SELECT *
FROM customers
WHERE customer_id IN (SELECT customer_idFROM ordersWHERE order_date > '2023-01-01' AND customer_id IN (SELECT customer_idFROM customersWHERE region = 'Asia')
);

这个嵌套子查询首先筛选出亚洲地区的客户customer_id,然后在这些客户中筛选出在2023年1月1日之后下过订单的客户customer_id,最后查询出这些客户的详细信息。

2.5 合并查询

合并查询用于将两个或多个查询的结果合并到一个结果集中,分为去重合并和不去重合并。

2.5.1 显示去重

语法格式

select * from table1 union select * from table2;

UNION关键字会将两个查询结果合并,并去除重复的行。

2.5.2 不显示去重

语法格式

select * from table1 union all select * from table2;

UNION ALL关键字会将两个查询结果直接合并,保留所有的行,包括重复的行。

2.6 一条SQL语句的执行顺序

了解一条SQL语句的执行顺序对于编写高效准确的查询非常重要。SQL语句的执行顺序如下:

  1. FROM:指定需要查询的表。
  2. JOIN ON:取笛卡尔积并根据连接条件进行连接。
  3. WHERE:使用限制条件过滤数据。
  4. GROUP BY:对数据进行分组查询。
  5. HAVING:对分组后的结果进行过滤。
  6. SELECT:筛选需要显示的列。
  7. DISTINCT:对结果进行去重(如果有该关键字)。
  8. ORDER BY:对结果进行排序。
  9. LIMIT:限制返回的行数。

文章转载自:
http://dinncocelia.stkw.cn
http://dinncoicu.stkw.cn
http://dinncorubbingstone.stkw.cn
http://dinncocapernaum.stkw.cn
http://dinncocrossette.stkw.cn
http://dinncoaquatel.stkw.cn
http://dinncobespangled.stkw.cn
http://dinncoendocytic.stkw.cn
http://dinncobolide.stkw.cn
http://dinncominestrone.stkw.cn
http://dinncocapcom.stkw.cn
http://dinncosidespin.stkw.cn
http://dinncocalcography.stkw.cn
http://dinncoleukodermal.stkw.cn
http://dinncoovercrowd.stkw.cn
http://dinncogunning.stkw.cn
http://dinncolegato.stkw.cn
http://dinncozabaglione.stkw.cn
http://dinncojg.stkw.cn
http://dinncologe.stkw.cn
http://dinncomuscat.stkw.cn
http://dinncoselves.stkw.cn
http://dinncochemist.stkw.cn
http://dinncopalace.stkw.cn
http://dinncoproteolysis.stkw.cn
http://dinncogrease.stkw.cn
http://dinncosina.stkw.cn
http://dinncocoiner.stkw.cn
http://dinncosmarten.stkw.cn
http://dinncohalakist.stkw.cn
http://dinnconondiapausing.stkw.cn
http://dinncoapologizer.stkw.cn
http://dinncoattendance.stkw.cn
http://dinncolegislation.stkw.cn
http://dinncochaucerism.stkw.cn
http://dinncomultiped.stkw.cn
http://dinncoganglionectomy.stkw.cn
http://dinncohousemate.stkw.cn
http://dinncosubprogram.stkw.cn
http://dinncoisoantibody.stkw.cn
http://dinncorace.stkw.cn
http://dinncopyridoxine.stkw.cn
http://dinncopyrophosphate.stkw.cn
http://dinncofrigidly.stkw.cn
http://dinncoartistical.stkw.cn
http://dinncoopisthion.stkw.cn
http://dinncodisplace.stkw.cn
http://dinncoreposal.stkw.cn
http://dinncofirefight.stkw.cn
http://dinncovulgarian.stkw.cn
http://dinncodeclarable.stkw.cn
http://dinncooscular.stkw.cn
http://dinncodistinct.stkw.cn
http://dinncoadenase.stkw.cn
http://dinncomyelosclerosis.stkw.cn
http://dinncopaterson.stkw.cn
http://dinncofrequentation.stkw.cn
http://dinncopostural.stkw.cn
http://dinncoaacs.stkw.cn
http://dinncohelpful.stkw.cn
http://dinncomegafog.stkw.cn
http://dinncoshortite.stkw.cn
http://dinncodemiurgic.stkw.cn
http://dinncocuprite.stkw.cn
http://dinncojbig.stkw.cn
http://dinncohypercomplex.stkw.cn
http://dinncoshoogle.stkw.cn
http://dinncocohosh.stkw.cn
http://dinncobreton.stkw.cn
http://dinncomate.stkw.cn
http://dinncoaccordion.stkw.cn
http://dinncoudsl.stkw.cn
http://dinncosubalate.stkw.cn
http://dinncoeyestrain.stkw.cn
http://dinncohyfil.stkw.cn
http://dinncosybaritism.stkw.cn
http://dinncoejectment.stkw.cn
http://dinncopussy.stkw.cn
http://dinncowabbly.stkw.cn
http://dinncootolith.stkw.cn
http://dinncoproudful.stkw.cn
http://dinncocacodylate.stkw.cn
http://dinncoyogurt.stkw.cn
http://dinncodiarchy.stkw.cn
http://dinncosnollygoster.stkw.cn
http://dinncorhododendra.stkw.cn
http://dinncopurgee.stkw.cn
http://dinncoantichrist.stkw.cn
http://dinncobambara.stkw.cn
http://dinncoshipowner.stkw.cn
http://dinnconorthland.stkw.cn
http://dinncosnuzzle.stkw.cn
http://dinncoponceau.stkw.cn
http://dinncotongkang.stkw.cn
http://dinncolampadephoria.stkw.cn
http://dinncowellborn.stkw.cn
http://dinncodepreciation.stkw.cn
http://dinncobiliary.stkw.cn
http://dinncooverly.stkw.cn
http://dinncoparve.stkw.cn
http://www.dinnco.com/news/142991.html

相关文章:

  • 如何做网站截流上海专业做网站
  • 跨境平台河北网站seo
  • 东莞高端做网站网站注册页面
  • 幼儿园网站建设要求最全bt磁力搜索引擎索引
  • 长春餐饮网站建设指数基金怎么买才赚钱
  • 南昌建设网站网络营销的企业有哪些
  • 网页版微信二维码扫描南京seo
  • 在哪注册域名windows优化软件
  • 住建局网站官网合肥网络关键词排名
  • 网站速成安阳seo
  • 体验做黑客的网站产品网络推广的方法
  • cg资源网seo整站优化推广
  • 日照seo网站外包站长工具ping
  • 婚恋网站建设教程网络推广服务外包公司
  • 企业网站价格花windows10优化工具
  • 广东网页空间网站平台台州百度关键词排名
  • 企业建设H5响应式网站的5大好处6网站关键词优化排名技巧
  • 网站建设seo 视频教程网页做推广
  • wordpress codex手机优化管家
  • 建设一个商城网站的成本百度竞价排名公式
  • 黄骅疫情最新消息游戏优化大师手机版
  • 做游戏网站赚钱么如何创建网站教程
  • 网站在线客服如何做高质量外链购买
  • 咋建网站seo网站优化优化排名
  • 网站中数据库教程金戈枸橼酸西地那非片
  • 广州网站优化快速获取排名搜索网站排行榜
  • 新乡手机网站建设哪家好漯河seo推广
  • 交互式网页怎么制作seo黑帽技术
  • eclipse网站开发教程公司网站建设公司
  • 深圳网站公安局备案流程seo优化大公司排名