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

中小企业网站建设与管理课后答案建设电子商务网站期末考试

中小企业网站建设与管理课后答案,建设电子商务网站期末考试,软件技术包括哪些,网站建设资金投入文章目录 1. 多表连接(JOIN)功能介绍应用场景示例查询及初始表格customers 表(未查询前)orders 表(未查询前)INNER JOIN 示例LEFT JOIN 示例 2. 子查询(Subquery)功能介绍应用场景示…

文章目录

        • 1. 多表连接(JOIN)
          • 功能介绍
          • 应用场景
          • 示例查询及初始表格
            • `customers` 表(未查询前)
            • `orders` 表(未查询前)
            • INNER JOIN 示例
            • LEFT JOIN 示例
        • 2. 子查询(Subquery)
          • 功能介绍
          • 应用场景
          • 示例查询及初始表格
            • `orders` 表(未查询前)
            • 非相关子查询 示例
            • 相关子查询 示例
        • 3. 聚合函数与分组(GROUP BY)
          • 功能介绍
          • 应用场景
          • 示例查询及初始表格
            • `customers` 表(未查询前)
            • `orders` 表(未查询前)
        • 4. 条件筛选(WHERE)
          • 功能介绍
          • 应用场景
          • 示例查询及初始表格
            • `orders` 表(未查询前)
        • 5. 排序(ORDER BY)
          • 功能介绍
          • 应用场景
          • 示例查询及初始表格
            • `orders` 表(未查询前)
        • 6. 组合使用
          • 功能介绍
          • 应用场景
          • 示例查询及初始表格
            • `customers` 表(未查询前)
            • `orders` 表(未查询前)

1. 多表连接(JOIN)
功能介绍

多表连接是 SQL 中用于从多个表中检索数据的重要操作。它通过指定一个或多个条件来组合来自两个或多个表的数据行。主要类型包括:

  • INNER JOIN:返回两个表中满足连接条件的匹配行。
  • LEFT JOIN (或 LEFT OUTER JOIN):返回左表中的所有记录,即使右表中没有匹配项。对于右表中没有匹配项的情况,结果集中对应的字段将包含 NULL。
  • RIGHT JOIN (或 RIGHT OUTER JOIN):与 LEFT JOIN 相反,返回右表中的所有记录。
  • FULL JOIN (或 FULL OUTER JOIN):返回两个表中的所有记录,当某一方没有匹配时,使用 NULL 填充。
  • CROSS JOIN:返回两个表的笛卡尔积,即每个表的每一行都与其他表的所有行配对。
应用场景

当你需要合并来自多个表的数据时,例如获取客户的订单信息、产品分类详情等,JOIN 是不可或缺的操作。

示例查询及初始表格
customers 表(未查询前)
customer_idcustomer_name
1Alice
2Bob
3Charlie
4Dave
5Eve
orders 表(未查询前)
order_idcustomer_idorder_datetotal_amount
10112024-01-15100.00
10212024-02-20200.00
10322024-03-10150.00
10432024-04-1575.00
10532024-05-22180.00
10612024-06-3090.00
10712024-11-2890.00
10822024-11-30125.00
10932024-12-0175.00
INNER JOIN 示例

查询

SELECT customers.customer_name, orders.order_id, orders.order_date, orders.total_amount
FROM customers
INNER JOIN orders ON customers.customer_id = orders.customer_id;

模拟查询结果

customer_nameorder_idorder_datetotal_amount
Alice1012024-01-15100.00
Alice1022024-02-20200.00
Alice1062024-06-3090.00
Alice1072024-11-2890.00
Bob1032024-03-10150.00
Bob1082024-11-30125.00
Charlie1042024-04-1575.00
Charlie1052024-05-22180.00
Charlie1092024-12-0175.00
LEFT JOIN 示例

查询

SELECT customers.customer_name, orders.order_id, orders.order_date, orders.total_amount
FROM customers
LEFT JOIN orders ON customers.customer_id = orders.customer_id;

模拟查询结果

customer_nameorder_idorder_datetotal_amount
Alice1012024-01-15100.00
Alice1022024-02-20200.00
Alice1062024-06-3090.00
Alice1072024-11-2890.00
Bob1032024-03-10150.00
Bob1082024-11-30125.00
Charlie1042024-04-1575.00
Charlie1052024-05-22180.00
Charlie1092024-12-0175.00
DaveNULLNULLNULL
EveNULLNULLNULL

2. 子查询(Subquery)
功能介绍

子查询是在另一个查询内部执行的查询,它可以出现在 SELECT、FROM、WHERE 或 HAVING 子句中。根据子查询是否依赖于外部查询的结果,可以分为相关子查询和非相关子查询。

  • 非相关子查询:独立于外部查询,通常用于计算聚合值如平均数、最大值等。
  • 相关子查询:依赖于外部查询提供的参数,每次外部查询处理一行时,相关子查询都会重新评估。
应用场景

子查询常用于复杂的条件筛选、查找特定条件下的最值或者进行跨表比较。

示例查询及初始表格
orders 表(未查询前)
order_idcustomer_idorder_datetotal_amount
10112024-01-15100.00
10212024-02-20200.00
10322024-03-10150.00
10432024-04-1575.00
10532024-05-22180.00
10612024-06-3090.00
10712024-11-2890.00
10822024-11-30125.00
10932024-12-0175.00
非相关子查询 示例

查询

SELECT *
FROM orders
WHERE total_amount > (SELECT AVG(total_amount) FROM orders);

模拟查询结果

order_idcustomer_idorder_datetotal_amount
10212024-02-20200.00
10322024-03-10150.00
10532024-05-22180.00
10822024-11-30125.00
相关子查询 示例

查询

SELECT o1.customer_id, o1.order_id, o1.order_date, o1.total_amount
FROM orders o1
WHERE o1.total_amount = (SELECT MAX(o2.total_amount)FROM orders o2WHERE o1.customer_id = o2.customer_id
);

模拟查询结果

customer_idorder_idorder_datetotal_amount
11022024-02-20200.00
21032024-03-10150.00
31052024-05-22180.00

3. 聚合函数与分组(GROUP BY)
功能介绍

聚合函数如 COUNT(), SUM(), AVG(), MIN(), MAX() 等用于执行数值汇总操作。GROUP BY 子句用于将数据按照一个或多个列进行分组,然后对每个组应用聚合函数。

应用场景

当你需要对数据进行分类汇总时,例如计算每个客户的总订单金额、统计不同类别的商品数量等,GROUP BY 结合聚合函数是非常有效的工具。

示例查询及初始表格
customers 表(未查询前)
customer_idcustomer_name
1Alice
2Bob
3Charlie
4Dave
5Eve
orders 表(未查询前)
order_idcustomer_idorder_datetotal_amount
10112024-01-15100.00
10212024-02-20200.00
10322024-03-10150.00
10432024-04-1575.00
10532024-05-22180.00
10612024-06-3090.00
10712024-11-2890.00
10822024-11-30125.00
10932024-12-0175.00

查询

SELECT c.customer_name, SUM(o.total_amount) AS total_spent
FROM customers c
JOIN orders o ON c.customer_id = o.customer_id
GROUP BY c.customer_name
ORDER BY total_spent DESC;

模拟查询结果

customer_nametotal_spent
Alice480.00
Charlie330.00
Bob275.00

4. 条件筛选(WHERE)
功能介绍

WHERE 子句用于过滤记录,只有符合条件的记录才会被包含在最终的结果集中。可以在 WHERE 中使用比较运算符(=, <, >, <=, >=, <>)、逻辑运算符(AND, OR, NOT)以及其他一些特定的运算符(LIKE, IN, BETWEEN…AND…)来进行复杂的条件组合。

应用场景

WHERE 子句广泛应用于数据过滤,比如选择特定日期范围内的记录、查找特定类别或状态的数据等。

示例查询及初始表格
orders 表(未查询前)
order_idcustomer_idorder_datetotal_amount
10112024-01-15100.00
10212024-02-20200.00
10322024-03-10150.00
10432024-04-1575.00
10532024-05-22180.00
10612024-06-3090.00
10712024-11-2890.00
10822024-11-30125.00
10932024-12-0175.00

查询

SELECT *
FROM orders
WHERE YEAR(order_date) = 2024;

模拟查询结果

order_idcustomer_idorder_datetotal_amount
10112024-01-15100.00
10212024-02-20200.00
10322024-03-10150.00
10432024-04-1575.00
10532024-05-22180.00
10612024-06-3090.00
10712024-11-2890.00
10822024-11-30125.00
10932024-12-0175.00

5. 排序(ORDER BY)
功能介绍

ORDER BY 子句用于对查询结果按照一个或多个列进行排序,默认为升序排列(ASC),可以通过指定 DESC 实现降序排列。你还可以对多个列进行排序,优先级从左到右。

应用场景

当你希望按某种顺序展示查询结果时,例如按照时间先后、金额大小等,ORDER BY 是必不可少的。

示例查询及初始表格
orders 表(未查询前)
order_idcustomer_idorder_datetotal_amount
10112024-01-15100.00
10212024-02-20200.00
10322024-03-10150.00
10432024-04-1575.00
10532024-05-22180.00
10612024-06-3090.00
10712024-11-2890.00
10822024-11-30125.00
10932024-12-0175.00

查询

SELECT *
FROM orders
ORDER BY order_date DESC;

模拟查询结果

order_idcustomer_idorder_datetotal_amount
10932024-12-0175.00
10822024-11-30125.00
10712024-11-2890.00
10612024-06-3090.00
10532024-05-22180.00
10432024-04-1575.00
10322024-03-10150.00
10212024-02-20200.00
10112024-01-15100.00

或者根据多个字段排序:

查询

SELECT *
FROM orders
ORDER BY customer_id ASC, order_date DESC;

模拟查询结果

order_idcustomer_idorder_datetotal_amount
10712024-11-2890.00
10612024-06-3090.00
10212024-02-20200.00
10112024-01-15100.00
10822024-11-30125.00
10322024-03-10150.00
10932024-12-0175.00
10532024-05-22180.00
10432024-04-1575.00

6. 组合使用
功能介绍

实际应用中,通常会结合多种 SQL 特性来构建复杂的查询。例如,你可以同时使用 JOIN、子查询、聚合函数、WHERE 过滤、HAVING 筛选以及 ORDER BY 排序,以精确控制查询的结果集。

应用场景

这种组合使用非常普遍,尤其是在需要处理复杂业务逻辑或分析大量数据时。例如,查找特定年份内每个客户的订单总数,并且只显示订单数超过一定阈值的客户,同时按订单数降序排列。

示例查询及初始表格
customers 表(未查询前)
customer_idcustomer_name
1Alice
2Bob
3Charlie
4Dave
5Eve
orders 表(未查询前)
order_idcustomer_idorder_datetotal_amount
10112024-01-15100.00
10212024-02-20200.00
10322024-03-10150.00
10432024-04-1575.00
10532024-05-22180.00
10612024-06-3090.00
10712024-11-2890.00
10822024-11-30125.00
10932024-12-0175.00

查询

SELECT c.customer_name, COUNT(o.order_id) AS order_count
FROM customers c
JOIN orders o ON c.customer_id = o.customer_id
WHERE YEAR(o.order_date) = 2024
GROUP BY c.customer_name
HAVING COUNT(o.order_id) > 5
ORDER BY order_count DESC;

模拟查询结果

customer_nameorder_count
Alice4

示例数据中没有一个客户的订单数量超过5个,所以这里只有Alice满足条件。如果有更多的订单数据,可能会有更多的客户出现在结果中。

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

相关文章:

  • 手机版网站制作费用开发购物网站社交的软件公司
  • 郑州网站推广公司哪家好番禺网站建设哪里有
  • 安陆市城乡建设局网站网站建设套餐报
  • 设计一个电子商务网站怎么制作网站的链接宏
  • 开封景区网站建设项目方案wordpress做跟随导航导航
  • 定制型和模板型网站整站排名优化公司
  • 小型网站运营免备案空间网站备案
  • 彩票网站的推荐怎么做哪个app推广佣金高
  • 做app做网站从何学起店面设计属于什么设计
  • 商标注册的官方网seo短视频网页入口引流方法
  • 母婴微网站设计规划硬件开发外包平台
  • 做灯饰的企业都会在哪些网站企业网站那几点重要
  • 清苑住房和城乡建设局网站网站建设的收获体会
  • 班级设计网站建设网站怎么做能赚钱
  • 整站优化是什么意思私人定制
  • 建筑类招聘网站有哪些广州网站开发软件平台
  • 哪些做网站的公司比较好网吧设计方案
  • 太谷网站建设服务器wordpress中英文菜单
  • 进行企业网站建设规划深圳企业网站app开发
  • 网站开发的逻辑国家信息网
  • 上海做网站的的公司wordpress开发+文档下载
  • 兼职做平面模特网站wordpress 图片走cdn
  • 做服装最好的网站有哪些免费做电子请柬的网站
  • 贵州省住房和城乡建设局网站wordpress制作网站教程视频
  • 虚拟展馆官方网站建设代理服务网站
  • 上海网站建设专业公司哪家好男生女生做污事网站
  • 南京做网站南京乐识权威汉中市住建局建设厅网站官网
  • 网络免费推广网站什么是网站域名?
  • 长沙网站推广公司排名展览展馆设计公司
  • 福田做商城网站建设找哪家公司好wordpress新建模板