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

实体店做网站有用吗大数据精准客户

实体店做网站有用吗,大数据精准客户,域名注册信息怎么查,怎样做网站api接口前言:先创建一个练习的数据库和数据 1.创建数据库并创建数据表的基本结构 -- 创建数据库 CREATE DATABASE subquery_union_simple; USE subquery_union_simple;-- 1. 员工表 CREATE TABLE employees (emp_id INT PRIMARY KEY AUTO_INCREMENT,emp_name VARCHAR(50)…

前言:先创建一个练习的数据库和数据

1.创建数据库并创建数据表的基本结构

-- 创建数据库
CREATE DATABASE subquery_union_simple;
USE subquery_union_simple;-- 1. 员工表
CREATE TABLE employees (emp_id INT PRIMARY KEY AUTO_INCREMENT,emp_name VARCHAR(50) NOT NULL,salary DECIMAL(10,2) NOT NULL,hire_date DATE NOT NULL,dept VARCHAR(50) NOT NULL
);-- 2. 客户表
CREATE TABLE customers (customer_id INT PRIMARY KEY AUTO_INCREMENT,customer_name VARCHAR(50) NOT NULL,city VARCHAR(50) NOT NULL,credit_rating VARCHAR(20) NOT NULL
);-- 3. 订单表
CREATE TABLE orders (order_id INT PRIMARY KEY AUTO_INCREMENT,customer_id INT,emp_id INT,order_date DATE NOT NULL,amount DECIMAL(10,2) NOT NULL,FOREIGN KEY (customer_id) REFERENCES customers(customer_id),FOREIGN KEY (emp_id) REFERENCES employees(emp_id)
);

  2.导入实例数据 

-- 员工数据
INSERT INTO employees (emp_name, salary, hire_date, dept) VALUES
('张三', 8000.00, '2020-01-15', '销售部'),
('李四', 7500.00, '2021-03-20', '销售部'),
('王五', 9000.00, '2019-05-10', '技术部'),
('赵六', 8500.00, '2020-07-01', '技术部'),
('钱七', 7000.00, '2021-09-01', '财务部');-- 客户数据
INSERT INTO customers (customer_name, city, credit_rating) VALUES
('客户A', '北京', '优秀'),
('客户B', '上海', '良好'),
('客户C', '广州', '一般'),
('客户D', '深圳', '优秀'),
('客户E', '杭州', '良好'),
('客户F', '成都', '一般');-- 订单数据
INSERT INTO orders (customer_id, emp_id, order_date, amount) VALUES
(1, 1, '2023-01-05', 15000.00),
(2, 1, '2023-02-10', 8000.00),
(3, 2, '2023-03-15', 12000.00),
(1, 3, '2023-04-20', 25000.00),
(4, 4, '2023-05-25', 18000.00),
(5, 5, '2023-06-30', 30000.00),
(2, 1, '2023-07-05', 9000.00),
(6, NULL, '2023-08-10', 6000.00);  -- 未分配员工的订单

一、子查询(嵌套查询)

子查询的主要用途是在执行某个查询的过程中使用另一个查询的结果,即在WHERE子句中包含了另一个SELECT语句,这种将一个查询嵌套在另一个查询的WHERE子句中的查询称为子查询,也称为嵌套查询。

1.结果为单个值

子查询结果为单个值时,条件中可以使用“=”“>”“<”“<=”“>=”“!=”“<>”等比较运算符。

查询工资高于平均工资的员工

SELECT emp_name, salary 
FROM employees 
WHERE salary > AVG(salary);mysql> SELECT emp_name, salary-> FROM employees-> WHERE salary > AVG(salary);
ERROR 1111 (HY000): Invalid use of group function

由于WHERE子句中不可以使用聚合函数

SELECT emp_name, salary 
FROM employees 
WHERE salary > (SELECT AVG(salary) FROM employees);mysql> SELECT emp_name, salary-> FROM employees-> WHERE salary > (SELECT AVG(salary) FROM employees);
+----------+---------+
| emp_name | salary  |
+----------+---------+
| 王五     | 9000.00 |
| 赵六     | 8500.00 |
+----------+---------+
2 rows in set (0.05 sec)

2.结果为多个值的集合

子查询结果有多个值时,可以使用ANY、SOME、ALL、IN等运算符。

查询信用评级为"优秀"的客户的所有订单

SELECT * FROM orders 
WHERE customer_id IN (SELECT customer_id FROM customers WHERE credit_rating = '优秀'
);mysql> SELECT * FROM orders-> WHERE customer_id IN (->     SELECT customer_id FROM customers->     WHERE credit_rating = '优秀'-> );
+----------+-------------+--------+------------+----------+
| order_id | customer_id | emp_id | order_date | amount   |
+----------+-------------+--------+------------+----------+
|        1 |           1 |      1 | 2023-01-05 | 15000.00 |
|        4 |           1 |      3 | 2023-04-20 | 25000.00 |
|        5 |           4 |      4 | 2023-05-25 | 18000.00 |
+----------+-------------+--------+------------+----------+
3 rows in set (0.05 sec)

3.EXISTS子查询

EXISTS用于测试子查询的结果是否为空,如果结果不为空,则返回TRUE;否则返回FALSE。

查询有订单的客户

SELECT customer_name 
FROM customers c 
WHERE EXISTS (SELECT 1 FROM orders WHERE customer_id = c.customer_id
);mysql> SELECT customer_name-> FROM customers c-> WHERE EXISTS (->     SELECT 1 FROM orders->     WHERE customer_id = c.customer_id-> );
+---------------+
| customer_name |
+---------------+
| 客户A         |
| 客户B         |
| 客户C         |
| 客户D         |
| 客户E         |
| 客户F         |
+---------------+
6 rows in set (0.00 sec)

 二、联合查询

联合查询是将两个查询结果集合并为一个查询结果集,使用关键字UNION

SELECT 语句1
UNION  [ ALL | DISTINCT ]
SELECT 语句2;

1.UNION运算符可以将前后两个SELECT语句的查询结果进行合并,生成一个数据集。

2.联合查询时默认选项为DISTINCT,表示查询结果集中消除了重复行,所有的记录都是唯一的;若选项为ALL,表示查询结果集中包含查询出的所有记录行。

3.联合查询中的两个SELECT语句必须具有相同的字段列数目、且各字段列具有相同的数据类型。 

合并员工和客户名称

SELECT emp_name AS name, '员工' AS type FROM employees
UNION
SELECT customer_name, '客户' FROM customers;mysql> SELECT emp_name AS name, '员工' AS type FROM employees-> UNION-> SELECT customer_name, '客户' FROM customers;
+-------+------+
| name  | type |
+-------+------+
| 张三  | 员工 |
| 李四  | 员工 |
| 王五  | 员工 |
| 赵六  | 员工 |
| 钱七  | 员工 |
| 客户A | 客户 |
| 客户B | 客户 |
| 客户C | 客户 |
| 客户D | 客户 |
| 客户E | 客户 |
| 客户F | 客户 |
+-------+------+
11 rows in set (0.05 sec)

合并所有城市信息(员工所在部门和客户所在城市)

SELECT dept AS location, '部门' AS type FROM employees
UNION ALL
SELECT city, '城市' FROM customers;mysql> SELECT dept AS location, '部门' AS type FROM employees-> UNION ALL-> SELECT city, '城市' FROM customers;
+----------+------+
| location | type |
+----------+------+
| 销售部   | 部门 |
| 销售部   | 部门 |
| 技术部   | 部门 |
| 技术部   | 部门 |
| 财务部   | 部门 |
| 北京     | 城市 |
| 上海     | 城市 |
| 广州     | 城市 |
| 深圳     | 城市 |
| 杭州     | 城市 |
| 成都     | 城市 |
+----------+------+
11 rows in set (0.00 sec)

创建销售活动报表(联合查询)

将销售部门的员工薪资数据与销售部门处理的订单金额数据合并成一个结果集,

并按类别和数值降序排列。

查询分为两部分:

第一部分从员工表选取销售部门员工的ID、姓名、薪资,并标记为"员工薪资"类别;

第二部分通过关联订单、客户和员工表,获取销售部门员工处理的订单ID、客户名称、订单金额,并标记为"订单金额"类别。

UNION ALL操作符将这两个结果集合并而不去重,最终结果按类别分组,并在每个类别内按金额/薪资从高到低排序,便于比较销售部门员工的薪资水平和他们产生的订单业绩

SELECT emp_id AS id, emp_name AS name, salary AS value, '员工薪资' AS category
FROM employees
WHERE dept = '销售部'
UNION ALL
SELECT o.order_id, c.customer_name, o.amount, '订单金额'
FROM orders o
JOIN customers c ON o.customer_id = c.customer_id
JOIN employees e ON o.emp_id = e.emp_id
WHERE e.dept = '销售部'
ORDER BY category, value DESC;mysql> SELECT->     emp_id AS id,->     emp_name AS name,->     salary AS value,->     '员工薪资' AS category-> FROM employees-> WHERE dept = '销售部'-> UNION ALL-> SELECT->     o.order_id,->     c.customer_name,->     o.amount,->     '订单金额'-> FROM orders o-> JOIN customers c ON o.customer_id = c.customer_id-> JOIN employees e ON o.emp_id = e.emp_id-> WHERE e.dept = '销售部'-> ORDER BY category, value DESC;
+----+-------+----------+----------+
| id | name  | value    | category |
+----+-------+----------+----------+
|  1 | 客户A | 15000.00 | 订单金额 |
|  3 | 客户C | 12000.00 | 订单金额 |
|  7 | 客户B |  9000.00 | 订单金额 |
|  2 | 客户B |  8000.00 | 订单金额 |
|  1 | 张三  |  8000.00 | 员工薪资 |
|  2 | 李四  |  7500.00 | 员工薪资 |
+----+-------+----------+----------+
6 rows in set (0.05 sec)

http://www.dtcms.com/wzjs/173767.html

相关文章:

  • 移动网站建设机构网络推广靠谱吗
  • 今天进京最新通知seo基础知识考试
  • 怎么评判一个网站做的好与坏杭州网站优化服务
  • 备案没有商城可以做商城网站吗爱站网 关键词挖掘工具
  • 做网站提供服务器吗南昌百度快速排名提升
  • 宁波城乡建设局网站江苏网络推广公司
  • 山东天成水利建设有限公司网站品牌管理
  • 大连网站开发建网络营销有哪些特点
  • 买网站自己做线上宣传渠道和宣传方式
  • 做网站app怎么赚钱吗百度推广区域代理
  • 温州微网站制作公司电话seo内容优化是什么意思
  • 设计网站的管理系统深圳网站设计小程序
  • 微信怎么关闭小程序东营seo整站优化
  • 深圳市住宅和建设网站百度域名
  • 专业地推团队上海seo网站策划
  • 网页设计教程下载免费的seo网站
  • 网站开发知识培训武汉seo网站排名
  • 网站黑链 工具福州百度代理
  • 做不了飞机要看什么网站深圳百度关键词
  • 做360手机网站首页网络营销前景和现状分析
  • 上海博道投资管理公司的网站谁做的广告推广软件
  • 咸宁手机网站建设营销策划案
  • 做违法网站判刑吗大数据营销的案例
  • 企业能建站吗公关服务
  • 做网站首页看不到图片百度关键词搜索推广
  • 隆尧网站建设今日新闻播报
  • 用python做美食网站如何制作一个网页页面
  • 一个备案可以做几个网站吗西安百度推广客服电话多少
  • 兰州做网站优化的公司建一个网站大概需要多少钱
  • 建设工程询价网站有哪些免费营销软件网站