本博文,主要为一些刚出社会的应届生所写,SQL语句是一门重要的基础!这里收录了一些工作中或者面试中常用又基础的SQL语句供应届生学习,也同为应届生的我增加记忆!

表不多就二张表,主要为了学习!贴表。。。。

SQL语句基础入门收录SQL语句基础入门收录

 

 

 

 

1.左连接(left join)、右连接(right join)、内连接(inner join)

左连接(left join):以主表(也就是from后的表)为基础,进行查询。如果右表没有则制空。

SQL语句基础入门收录

右连接(right join):以副表(也就是right join后的表)为基础,进行查询。如果左表没有则制空。

SQL语句基础入门收录

内连接(inner join):并未按照那张表为主,而是只按on后面的条件语句查询,只显示符合的数据

SQL语句基础入门收录

在工作中,要以业务和需求选择响应的关联查询。注意!内连接会剔除不符合要求的数据,只能在特定的需求内使用,要不查询会少数据的,注意!

 

 

 

 

2.倒序查询(order by   字段   desc)

正常情况下的查询

SQL语句基础入门收录

倒序查询

SQL语句基础入门收录

其实,我这个例子是不符合实际的,一般倒序查询多用于时间之类的查询,方便你查找对应数据(为什么不做呢,因为懒)

 

 

 

 

3.分组查询(GROUP BY  字段)

SQL语句基础入门收录

以为我们在select往往是*表示,显示所有字段。当我们加上具体字段名,就会只显示需要显示的字段,当业务需求或者Excel导出时需要只查询某一下字段时,常常会用到!count是统计总数的意思count(val)为分别统计他们的个数,count(*)为统计所有数据的数量!

这里连讲了二个要点哦!分组查询以及只查询自己需要的字段。再贴一张内连接的字段查询把!

SQL语句基础入门收录

 

 

 

 

 

4.子查询 (in)

SQL语句基础入门收录

子查询的运用很大,他可以查询1个或者多个,在sql语句的逻辑运用查询时可以的灵活的运用,进行组合sql查询。比如通过for循环放入多个值然后组合成sql进行查询。(这个不演示了,哈哈哈!聪明的小伙伴可以自己试试组合sql)

 

 

 

 

 

5.赋值查询(case when then)-------我也不懂这个怎么叫,就叫他赋值查询把!

SQL语句基础入门收录

这个在一些面试中较为常见的SQL面试题,请注意他的语法,case为开始 when 条件 then 赋值 end 为结束 as为显示的栏位  else为 除了when条件以外的其他条件,可写可不写,自己灵活运用!

这个语句在前端显示时很多用,比如我要一个值根据1显示‘男’、2显示‘女’我们可以在前端通过if显示,或者java中进行if重新赋值,现在多加了一种直接在数据库中处理,他的优势在于 不用去修改前端或者后端的代码,更加简介!

 

6.我也不知道他叫什么查询,叫他双查询可以不------------------

 

SQL语句基础入门收录

 

上面用了二个查询语句,会先执行括号内的查询,查询出性别为男的ID,后在主SQL中查询这些ID将不包括在这些查询中。还有我们用到了not in,在上面的例子中我们用的是in!   not in 不包括!

 

7.DISTINCT查询

 

SQL语句基础入门收录

 

是不是觉得和分组查询很像,对啦!但是这个可以多个去重查询,去重的字段衣逗号隔开!这个看起来比较高大上!

 

8.分组查询的筛选条件HAVING

小葵花妈妈课堂又开课啦,今天补一个HAVING关键字!这个关键字来源与今天数据重复发送导致数据不一致,我希望找出多发的数据,这是就用到了HAVING关键字,搜索出出现过二次数据。

SQL语句基础入门收录

这一次也有二个知识点,一:则是我们HAVING的用法,接于GROUP BY的后面使用相当于WHERE是对分组后的数据做再次排查,但是他的使用在于WHERE的后面(优先级先ON 后WHERE 最好HAVING)如果我要使用多次排查,则再HAVING后面用AND连接!

二:COUNT(2),我们常用的是COUNT(*)表示统计所有数据的个数,而COUNT(2)则表示统计val的个数(COUNT(1)表示统计tid的个数),但不同于COUNT(*)的是,COUNT(*)的统计包括NULL值,当使用COUNT(2)时val有NULL时,不计入总个数

相关文章: