当前位置: 首页 > 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关键字用于指定要查询的列其中除了分组列之外其他列必须使用聚合函数如SUM、AVG、COUNT等。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.chineseexam.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.xxtable2.xx;这是一种基于逗号分隔的表名和WHERE子句指定连接条件的写法。更标准的写法是使用JOIN关键字 SELECT * FROM table1 JOIN table2 ON table1.xx table2.xx;2.1.2 执行过程 内连接的执行过程可以分为以下几个步骤 计算笛卡尔积首先计算参加表连接的两个表的笛卡尔积。例如假设有qintianpeople表和qintiancommodity表执行以下查询 SELECT * FROM qintianpeople, qintiancommodity 结果会得到两个表的笛卡尔积即qintianpeople表中的每一行与qintiancommodity表中的每一行进行组合结果集的行数为两个表行数的乘积。执行结果如下 通过连接条件过滤无效数据在笛卡尔积的基础上通过连接条件过滤掉不满足条件的数据。例如 SELECT * FROM qintianpeople, qintiancommodity WHERE qintianpeople.people_id qintiancommodity.people_id 这里使用WHERE子句指定了连接条件只有people_id相等的行才会被保留。执行结果如下 加入查询条件得到想要的结果行可以进一步添加查询条件来筛选出符合特定要求的行。例如 SELECT * FROM qintianpeople, qintiancommodity WHERE qintianpeople.people_id qintiancommodity.people_id AND qintianpeople.people_id5 这里在连接条件的基础上添加了qintianpeople.people_id5的条件进一步筛选出符合条件的行。执行结果如下 精简列名得到最终想要查询的列最后可以根据需求选择需要显示的列精简结果集。例如 SELECT qintianpeople.people_id, people_name, commodity_name FROM qintianpeople, qintiancommodity WHERE qintianpeople.people_id qintiancommodity.people_id AND qintianpeople.people_id5 这个查询只选择了people_id、people_name和commodity_name这几列得到了更精简的结果。执行结果如下 2.2 外连接 外连接分为左外连接和右外连接它们的区别在于以哪个表为基准进行连接。 2.2.1 左外连接 语法格式 Select * from table1 left join table2 on table1.xxtable2.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.xxtable2.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.xxt2.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语句的执行顺序如下 FROM指定需要查询的表。JOIN ON取笛卡尔积并根据连接条件进行连接。WHERE使用限制条件过滤数据。GROUP BY对数据进行分组查询。HAVING对分组后的结果进行过滤。SELECT筛选需要显示的列。DISTINCT对结果进行去重如果有该关键字。ORDER BY对结果进行排序。LIMIT限制返回的行数。
http://www.w-s-a.com/news/634664/

相关文章:

  • 上海网站建设网站开发亚洲杯篮球直播在什么网站
  • 网站做seo第一步h5制作公司
  • 软件外包产业网络优化工程师是干嘛的
  • 怎么用服务器做局域网网站河西网站建设
  • 工业企业网站建设企业门户网站解决方案
  • 网站运营与管理论文网上商城都有哪些
  • 常德网站制作建设毕设电商网站设计
  • 西安企业模板建站福州+网站建设+医疗
  • 邹城市住房和建设局网站仙居网站建设贴吧
  • 为什么要用CGI做网站网站手机优化显示
  • 做袜子娃娃的网站做网站要学的东西
  • 类qq留言网站建设企业做网站公司
  • 如何查到网站建设三足鼎立小程序开发公司
  • 交互网站怎么做的wordpress ssl 错位
  • 公司宣传 如何做公司网站郑州做网站那
  • 衡阳市城乡建设协会官方网站免费游戏网站模板
  • 小程序怎么做优惠券网站合肥建站网站平台
  • 民制作网站价格株洲企业seo优化
  • 网站建设 岗位职责网站建设百度索引
  • 网站建设的内容下拉网站导航用ps怎么做
  • 怎样做p2p网站海口免费自助建站模板
  • 给企业建设网站的流程图wordpress 添加子菜单
  • 企业网站带新闻发布功能的建站皋兰县建设局网站
  • 国内外做gif的网站wordpress数据库教程
  • 成都建站平台自己做一个网站需要多少钱
  • 景区旅游网站平台建设公司企业网站源码
  • 免费高清网站推荐喂来苏州网络科技有限公司
  • php做的大型网站有哪些备案博客域名做视频网站会怎么样
  • 去哪网站备案吗昭通网站建设
  • flash企业网站源码建筑材料采购网站