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

免费个人二级域名网站中山网站建设

免费个人二级域名网站,中山网站建设,学校网站建设工作,淘宝客网站是怎么做的系列博客目录 文章目录 系列博客目录1.distinct关键字 去除重复2.char_length()3.group by 与 count()连用4.date类型有个函数datediff()5.mod 函数6.join和left join的区别1. **JOIN(内连接,INNER JOIN)**示例: 2. **LEFT JOIN&a…

系列博客目录


文章目录

  • 系列博客目录
  • 1.distinct关键字 去除重复
  • 2.char_length()
  • 3.group by 与 count()连用
  • 4.date类型有个函数datediff()
  • 5.mod 函数
  • 6.join和left join的区别
      • 1. **`JOIN`(内连接,`INNER JOIN`)**
        • 示例:
      • 2. **`LEFT JOIN`(左外连接)**
        • 示例:
      • 总结:
      • 用途:
  • 7.AVG函数
      • 1. **`AVG()` 函数的基本用法**
        • 语法:
      • 2. **搭配 `GROUP BY` 使用**
        • 示例 1:计算每个部门的平均薪资
        • 示例 2:计算每个学生的平均成绩
      • 3. **不搭配 `GROUP BY` 使用**
        • 示例:计算所有员工的平均薪资
      • 4. **处理 `NULL` 值**
      • 5. **总结**
  • 8.
  • 9.CONCAT UPPER LOWER SUBSTRING
  • 10.


1.distinct关键字 去除重复

select distinct author_id as id from Views where author_id = viewer_id order by id;

2.char_length()

select tweet_id from Tweets where char_length(content) > 15;

3.group by 与 count()连用

select customer_id, count(customer_id) as count_no_trans 
from Visits left join Transactions on Visits.visit_id = Transactions.visit_id
where transaction_id is null group by customer_id;

4.date类型有个函数datediff()

select a.id 
from Weather as a cross join Weather as b on datediff(a.recordDate, b.recordDate) = 1
where  a.temperature > b.temperature;

5.mod 函数

select * from cinema where mod(id, 2) = 1 and description != 'boring' order by rating desc;

6.join和left join的区别

在 MySQL 中,JOINLEFT JOIN 都用于将两个或多个表连接在一起,但它们之间有重要的区别:

1. JOIN(内连接,INNER JOIN

  • 定义JOIN 默认是 INNER JOIN,表示仅返回两个表中满足连接条件的行。如果一个表中的某一行在另一个表中没有对应的匹配行,那么该行就不会出现在查询结果中。
  • 行为INNER JOIN 返回的是两个表中匹配的数据行,若某个表的某行在另一个表中找不到对应的匹配行,那么这一行就不会出现在查询结果中。
示例:

假设有两个表:

  • students(学生表)

    idname
    1Alice
    2Bob
    3Charlie
  • courses(课程表)

    student_idcourse
    1Math
    2Science
    4History

查询:SELECT students.name, courses.course FROM students JOIN courses ON students.id = courses.student_id;

结果

namecourse
AliceMath
BobScience
  • 只有 studentscourses 表中匹配的行会出现在结果中,Charlie 没有参加任何课程,所以不会出现在结果中。

2. LEFT JOIN(左外连接)

  • 定义LEFT JOIN 返回左表(即 FROM 后指定的第一个表)中的所有行,即使这些行在右表(即 JOIN 后指定的表)中没有匹配项。如果左表中的某行在右表中找不到对应的匹配行,那么右表中的字段会用 NULL 填充。
  • 行为LEFT JOIN 返回的是左表中的所有数据行,若右表没有与左表行匹配的数据,则右表的列将会用 NULL 填充。
示例:

使用同样的表 studentscourses,查询:SELECT students.name, courses.course FROM students LEFT JOIN courses ON students.id = courses.student_id;

结果

namecourse
AliceMath
BobScience
CharlieNULL
  • 即使 Charlie 没有参加任何课程,LEFT JOIN 仍然返回了 Charlie 的数据行,并且 courses.course 列显示为 NULL

总结:

  • JOININNER JOIN:只返回两个表中匹配的行。如果某行在另一个表中没有对应的行,则该行不会出现在结果中。
  • LEFT JOIN(左外连接):返回左表(FROM 后的表)中的所有行,即使右表中没有匹配的行。如果右表没有匹配项,右表的字段会填充 NULL

用途:

  • INNER JOIN:用于只关心两个表中匹配的记录,常见于查询需要联动的数据。
  • LEFT JOIN:用于查询左表中的所有数据,即使右表没有匹配的记录。例如,查询所有学生及其参加的课程,即使有些学生没有参加任何课程。

mysql中join 我后面不加条件呢?在 MySQL 中,如果在使用 JOIN 时不加连接条件,会发生笛卡尔积(Cartesian Product)。笛卡尔积是指将两个表的每一行与另一个表的每一行进行配对,导致结果集的行数是两个表行数的乘积。

7.AVG函数

AVG() 函数是 SQL 中一个聚合函数,用于计算某一列的 平均值。它会计算某列所有非 NULL 值的平均数。

1. AVG() 函数的基本用法

AVG() 函数可以用于数值型数据列(如整数、浮动数等),它返回该列的平均值。

语法:
AVG(column_name)
  • column_name:要计算平均值的列。

2. 搭配 GROUP BY 使用

通常,AVG() 函数会与 GROUP BY 子句一起使用,这样可以对数据进行分组计算每个组的平均值。GROUP BY 会根据指定的列对数据进行分组,AVG() 会分别计算每个分组的平均值。

示例 1:计算每个部门的平均薪资

假设有一个员工表 employees,包含以下字段:employee_iddepartmentsalary

SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department;

解释

  • AVG(salary):计算每个部门的平均薪资。
  • GROUP BY department:将数据按部门进行分组,对每个部门计算薪资的平均值。

结果

departmentavg_salary
HR5000
IT6000
Sales4500

这个查询的结果是每个部门的平均薪资。

示例 2:计算每个学生的平均成绩

假设有一个 students 表,记录学生的成绩:

SELECT student_id, AVG(score) AS avg_score
FROM scores
GROUP BY student_id;

解释

  • AVG(score):计算每个学生的平均成绩。
  • GROUP BY student_id:按学生的 ID 对数据进行分组。

结果

student_idavg_score
185.5
278.0

3. 不搭配 GROUP BY 使用

如果不使用 GROUP BYAVG() 会计算整个数据集的平均值,而不是每个分组的平均值。

示例:计算所有员工的平均薪资

如果你不使用 GROUP BY,就会得到整个表的平均值。

SELECT AVG(salary) AS avg_salary
FROM employees;

结果

avg_salary
5500

这个查询计算的是所有员工的平均薪资,而没有分组。

4. 处理 NULL

AVG() 会忽略 NULL 值,它只会计算那些非 NULL 的记录。例如,如果某个员工的薪资为 NULL,则该值不会影响平均薪资的计算。

5. 总结

  • AVG() 函数计算某列的平均值。
  • GROUP BY 通常与 AVG() 配合使用,用于对数据进行分组并计算每个分组的平均值。
  • 如果不使用 GROUP BYAVG() 会计算整个表的平均值。
  • AVG() 会忽略 NULL 值。

AVG() 是常用的聚合函数之一,用于执行汇总统计,特别适用于报告和数据分析任务。

8.

select Product.product_id, product_name
from Product left join Sales on Product.product_id = Sales.product_id
group by product_id
having count(sale_date between '2019-01-01' and '2019-03-31' or null) = count(*);

这里值得注意的是count的条件用法。举个例子count(age > 20 or null)这个语句,里面or null必须加,否则就等价于count(*)了,要么就是写作sum(age > 20)也可以。

我猜测是因为age > 20返回的是0或者1,而count对于不管是0还是1,都是会计数一次的,只有Null不会被计数。所以这个age > 20 or null表达的是不大于20就转换为null,这样就不会被count计数

作者:喜刷刷
链接:https://leetcode.cn/problems/sales-analysis-iii/description/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

9.CONCAT UPPER LOWER SUBSTRING

SELECT user_id, CONCAT(UPPER(SUBSTRING(name, 1, 1)), LOWER(SUBSTRING(name, 2))) AS name
FROM Users
ORDER BY user_id;
SUBSTRING(string, start, length)

string:要从中提取子字符串的原始字符串。
start:子字符串的起始位置(从 1 开始)。
length:要提取的字符数(可选,如果省略,则提取从起始位置到字符串末尾的所有字符)。

10.

select 
(select distinct salary
from Employee
order by salary desc
limit 1 offset 1 ) as SecondHighestSalary ;

虽然这没有显式创建临时表,但在某种意义上,子查询的结果就充当了临时表的角色。
在这里插入图片描述

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

相关文章:

  • 网页建立站点百度网址查询
  • 关于开通网站建设的请示自媒体135网站免费下载安装
  • 建设积分网站一键搭建网站工具
  • 个商个体户可以建设网站不广州新塘网站seo优化
  • 有没有专门做装修的网站seo网络推广培训班
  • 网页游戏排行榜知乎廊坊自动seo
  • 腾讯云10g数字盘做网站够么必应bing搜索引擎
  • b2c网站程序中国网站排名前100
  • 郑州外贸网站建设竞价托管开户
  • 新疆知名的网站建设公司seo网站快速整站优化技术
  • wordpress清除多余附件福州seo关键字推广
  • 做招商网站百度ai搜索引擎
  • 辽宁品牌建设促进会 网站企业网站建设方案策划书
  • 展示型网站aso优化哪家好
  • 吴江企业网站制作广州seo关键词优化外包
  • dreamweaver网页设计形考任务一东莞营销网站建设优化
  • 预约支付wordpressseo网站推广专员
  • 手机网站用什么软件哈尔滨企业网站seo
  • 上海网站建设的价长沙网络营销顾问
  • 东莞网站建设公司招聘信息一站式海外推广平台
  • 青岛专业做网站优化网站怎么优化到首页
  • 苹果如何做网站网站流量统计分析报告
  • php网站模板源码下载seo人人网
  • iis怎么做网站空间域名注册费用
  • 网站做视频在线观看网址网络营销和网络推广
  • 揭阳门户网站开发网络推广渠道公司
  • 初中信息科技怎么自己做网站seo是什么seo怎么做
  • 网站成功案例分析app推广赚钱平台
  • 用scala做的网站关于华大18年专注seo服务网站制作应用开发
  • wordpress国内网站seo搜索引擎优化教程