数据库学习

数据库学习
1. 基本的经典查询 #基本的查询语句 SELECT * FROM data.`dataanalyst` WHERE city =’上海’ AND (edu…

	数据库学习[数据库教程]

1. 基本的经典查询

#基本的查询语句
SELECT *
FROM data.`dataanalyst` 
WHERE city =‘上海‘
AND (education = ‘本科‘
OR workYear = ‘1-3年‘
)
AND secondType LIKE ‘%开发%‘  #字段包含开发
OR secondType LIKE ‘后端%‘  #优先级:()> AND > OR

结果:

image-20210308165143576

2. 不同城市招聘公司的数量,需要用distinct去重

#不同城市招聘公司的数量,需要用distinct去重
SELECT 
city,
COUNT(positionId),
COUNT(DISTINCT(companyId)) 
FROM data.`dataanalyst`
GROUP BY city

image-20210308212735308

3. 不同城市,学历的招聘岗位数目

#不同城市,学历的数目
SELECT city,education,COUNT(1) FROM data.`dataanalyst`
GROUP BY city,education

image-20210308214350992

4. 不同城市电子商务岗位的数量

#不同城市电子商务岗位的数量
SELECT city,COUNT(1) FROM data.`dataanalyst`
WHERE industryField LIKE ‘%电子商务%‘
GROUP BY city
HAVING COUNT(1)>50 #二次过滤,挑选拥有电子商务岗位数量为50以上的城市

image-20210308215540011

5. 这是第4题的改写

上面也可以写成这样

把where合并入having中

#不同城市电子商务岗位的数量
SELECT city,COUNT(1) FROM data.`dataanalyst`
GROUP BY city
HAVING COUNT(IF(industryField LIKE ‘%电子商务%‘,1,NULL))>50 

得出的结果完全相同

6. 不同城市下,电子商务岗位在所有岗位中的占比

注意:AS的别名在where中起名之后,只能在having,order by中使用

select
city,
COUNT(IF(industryField LIKE ‘%电子商务%‘,1,NULL)) as emarket,
count(1) as total,
COUNT(IF(industryField LIKE ‘%电子商务%‘,1,NULL))/count(1) as proportion
from data.`dataanalyst`
group by city
having  emarket>10
order by proportion

image-20210308230145241

7. 截取薪资上限和下限

SELECT 
LEFT(salary,LOCATE(‘k‘,salary)-1) AS ‘minSalary‘,
RIGHT(salary,LOCATE(‘-‘,salary)-1) AS ‘最大薪资数据‘,
#去掉最后的k
LEFT(RIGHT(salary,LOCATE(‘-‘,salary)-1),LOCATE(‘k‘,RIGHT(salary,LOCATE(‘-‘,salary)-1))-1) AS ‘maxSalary‘,
salary
FROM data.`dataanalyst`

image-20210309184820369

8. 是第7题薪资上下限的改写,使用substr函数

SELECT
LEFT(salary,LOCATE(‘k‘,salary)-1) AS ‘minSalary‘,
LOCATE(‘-‘,salary),
LENGTH(salary),
#substr(字符串,从哪里开始,截取长度)
SUBSTR(salary,LOCATE(‘-‘,salary)+1,LENGTH(salary)-LOCATE(‘-‘,salary)-1) AS ‘maxSalary‘,
salary
FROM data.`dataanalyst`

image-20210309185930075

9. 子查询实现对平均薪资分区

SELECT 
    CASE
        WHEN (minSalary+maxSalary)/2 <=10 THEN ‘0-10k‘
        WHEN (minSalary+maxSalary)/2 <=20 THEN ‘10k-20k‘
        WHEN (minSalary+maxSalary)/2 <=30 THEN ‘20k-30k‘
        ELSE ‘30k以上‘
    END AS ‘平均薪资范围‘,
	(minSalary+maxSalary)/2 AS ‘aveSalary‘,
	salary
FROM(
    SELECT
    LEFT(salary,LOCATE(‘k‘,salary)-1) AS ‘minSalary‘,
    LOCATE(‘-‘,salary),
    LENGTH(salary),
    #substr(字符串,从哪里开始,截取长度)
    SUBSTR(salary,LOCATE(‘-‘,salary)+1,LENGTH(salary)-LOCATE(‘-‘,salary)-1) AS ‘maxSalary‘,
    salary
    FROM data.`dataanalyst`) AS t

注意对表子查询的话,最后要加上 as t

image-20210310101645211

数据库学习

原文地址:https://www.cnblogs.com/snailser/p/14509944.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/6468.html

(0)
上一篇 2023-04-09
下一篇 2023-04-09

相关推荐

  • MySQL总结(三)DDL数据定义语言-详解

    MySQL总结(三)DDL数据定义语言-详解1.DDL操作数据库 1.1 创建数据库 1.1.1 多种方式创建数据库 语句 说明 CREATE DATABASE 数据库名称; 创建数据库 CREATE DATABASE IF NOT EXIS…

    2023-03-01
    132
  • mysql 面试(六)MySQL 架构类问题「建议收藏」

    mysql 面试(六)MySQL 架构类问题「建议收藏」MySQL 主从复制实现原理 开启二进制日志 步骤一:主库 db 的更新事件 (update、insert、delete) 被写到 binlog 步骤二:从库发起连接,连接到主库 步骤三:此时主库创…

    2022-12-17
    153
  • 查看Mysql版本号

    查看Mysql版本号一、使用命令行模式进入mysql会看到最开始的提示符;二、命令行中使用status可以看到;三、使用系统函数等等,查看版本信息#1使用命令行模式进入mysql会看到最开始的提示符mysql–uroo…

    2023-03-24
    152
  • mariaDB & MySQL 权限与远程连接[通俗易懂]

    mariaDB & MySQL 权限与远程连接[通俗易懂]我们大家链接这个数据库可能都用root作为用户名!但默认不可以远程访问!如果要远程访问怎么处理呢?1 GRANT ALL PRIVILEGES ON *.* TO 'root'@&#3

    2023-02-06
    155
  • 一文读懂字节跳动“埋点验证平台”[通俗易懂]

    一文读懂字节跳动“埋点验证平台”[通俗易懂]更多技术交流、求职机会、试用福利,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 序言 埋点数据作为推荐、搜索、产品优化的基石,其数据质量的重要性不言而喻,而要保障埋点数据的质量,埋点验

    2023-05-30
    151
  • 第17问:如何评估 alter table 的进度?

    第17问:如何评估 alter table 的进度?问题 我们执行 alter table 语句后,经常面临“跑又跑不完,杀又不敢杀”的窘境。 如果能评估 alter table 的进度就幸福多了。 实验 MySQL官方已经给出了文档:https:/…

    2023-03-26
    144
  • mysql加锁处理分析_一种存储引擎

    mysql加锁处理分析_一种存储引擎存储引擎: 早期的时候,存在如何选择MyISAM和Innodb? 现在,Innodb不断地发展完善,成为了主流的存储引擎。 因此5.5之后的mysql,无脑选择Innodb即可。 MYSQL中的数据,

    2023-02-04
    169
  • 随笔记录-_随笔笔记怎么写

    随笔记录-_随笔笔记怎么写我之前用sqlserver连过很多人的数据库,后来我怕登陆的时候登陆错了,想清楚一下连接那里的默认记录,后来在网上找过许多方法都不行,后来误打误撞找到了方法,大家可以试一下下边的方法: 有的直接放在U

    2023-02-05
    149

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注