您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页2019-01-07今日份的SQL学习

2019-01-07今日份的SQL学习

来源:二三娱乐

SQL这个东西真的不用就会忘记,,,不过也确实好多都是很久之前学的,有些知识点也已经模糊了,这次刚好好好学一学,今天看视频的时候摘了几个感觉不太熟的点,,基本都记下来了哈哈哈,忘记说了,看的是秦路的视频,老师声音很好听嘿嘿。

Select基础部分

有一些之前没有怎么用到的,不太熟练的部分

2)Select * from company

limit 100;(分号代表语句的结尾,limit表示只要结果的前100条数据)

3)!=和<>这两个都表示不等于

selelct * from company

where city != “上海”;(提取上海以外城市的公司信息)

select * from company

where city <> “上海”;

4)select * from company

  where city in (“上海”,”北京”);(提取上海和北京的公司信息)

或者select * from company

  where city = “上海”

   orcity = “北京”;(此处in和or的输出结果一样

   select* from company

  where city not in (“上海”,”北京”); (提取上海和北京以外的公司信息,in的否定not in

条件查询部分

1)  and和or执行逻辑,and优先执行,作为一个条件(这一块之前真的没注意过,重点关注!)  

SELECT * FROM data.dataanalyst

where city = "上海"

and education = "本科"

or workYear = "1-3年";

上述查询语句,本意是查询city在上海的(结果中city应该只等于上海),education为本科或者工作1-3年的人(education和workYear二选一),但是结果中出现了city为非上海的数据,此处涉及到and和or同时出现时,SQL的执行优先级问题。

实际上该语句的查询目标为

SELECT * FROM data.dataanalyst

where (city = "上海"

and education = "本科")

or workYear = "1-3年";

此处,and优先计算组成条件1,即city是上海的且education是本科为条件1,workYear等于1-3年为条件2,结果为条件1成立或者条件2成立的数据,因此出现了city为北京、深圳,以及education等于大专的数据。

如果要实现原来的查询目标,SQL语句如下

SELECT * FROM data.dataanalyst

where city = "上海"

and (education = "本科"

or workYear = "1-3年");

结果如下

勤用括号还是有用滴!

例如:查询上海的本科职位以及北京的硕士职位

SELECT * FROM data.dataanalyst

where

(city = "上海"

and education = "本科")

or

(city = "北京"

and education = "硕士");

2)like的使用,匹配字段值,%的使用

SELECT * FROM data.dataanalyst

where

secondType like "%开发%";(包含“开发”两个字的职位)

SELECT * FROM data.dataanalyst

where

secondType like "开发%";(以“开发”两个字开头的职位)

SELECT * FROM data.dataanalyst

where

secondType like "%开发";(以“开发”两个字结尾的职位)

3)group by函数

SELECT city,count(positionId),count(distinct companyId) FROM data.dataanalyst

group by city;(每个城市招多少个岗位,多少家公司在招聘)

SELECT city,education,count(positionId)

FROM data.dataanalyst

group by city,education;(每个城市各个学历招多少个岗位)

例子:

eg.1每个城市的应届毕业生招多少个

SELECT city,workYear,count(positionId) FROM

data.dataanalyst

where workYear = "应届毕业生"

group by city;

eg.2每个城市有多少公司在招应届毕业生

SELECT

city,workYear,count(positionId),count(companyId) FROM data.dataanalyst

where workYear = "应届毕业生"

group by city;

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务