SQL语句基本语法及函数方法

本文介绍了SQL中的连接操作,包括rightjoin和leftjoin的区别,以及内连接、交叉链接等。此外,文章还涵盖了Java开发者的学习资源,如基础到高级的知识体系、开源框架、性能调优、分布式系统和微服务架构等内容,提供了一套完整的Java开发学习资料和面试指南。
摘要由CSDN通过智能技术生成

右连接  right join 或 right outer join,数据链接到右边那张表中

#通过下面这两种方法就可以把不同的表连接到一起,变成一张大表

#左连接 left join 或 left outer join,数据连接到左边那张表中

select * from user left join job on user.id=job.user_id;

select * from user left outer join job on user.id=job.user_id;

#右连接 right join 或 right outer join,数据链接到右边那张表中

SELECT * from user RIGHT JOIN job on user.id = job.user_id;

join 或 inner join内连接

#join 或 inner join内连接

select * from user join job on user.id = job.user_id;

#相当于下面这条语句

SELECT * from user, job where user.id = job.user_id;

交叉链接,cross join,没有where指定查询条件的子句的交叉联接将产生两表的笛卡尔积。

#交叉链接,cross join,没有where指定查询条件的子句的交叉联接将产生两表的笛卡尔积。

SELECT * from user CROSS join job;

常用函数:

distinct  排出重复的(后面只能有一个字段名)      语法:select distinct 字段名 from 表名;

#distinct去重

select DISTINCT age, name from user;

limit     分页查询

#查询第几条数据,表示从索引为0开始,查询4条记录

select * from user LIMIT 4;

#查询id为3~7数据,从索引为2开始,查询5条数据

SELECT * from user LIMIT 2,5;

count获取表数据行数 ,      select count(*) from 表名;

SELECT COUNT(*) from user;

group by 分组      按字段分组(在表名和where后面)

SELECT * from user GROUP BY age;

order by 排序查询    语法:select * from 表名 where 条件 order by 字段名 asc/desc, 字段名1 asc/desc;

asc表示升序(默认)    desc表示降序     where可以不要

#默认asc排序

SELECT * from user ORDER BY age;

UPPER(string)      可以将字符转成大写     语法:select upper(字段名) from 表名;

lower(string)        将字符转成小写

#将字符转为大写

SELECT UPPER(job) from user;

#将字符转为小写

SELECT LOWER(job) from user;

like   模糊查询      语法:select * from 表名 where 字段名 like ‘%M%’;

_:只能通配当前位置的一个字符

%:可以通配任意多个字符

%%:匹配所有的内容

SELECT * from user where name like ‘%张%’;

not like    用法和like一样(作用相反),不包含的

SELECT * from user where name not LIKE ‘%张%’;

in     范围查询      语法:select * from 表名 where 字段名 in(数据值1, 数据值2…);

SELECT * from user where age in(18, 20);

and 或 &&        并且

or 或 ||       或

not 或 !      非(取反)

is null;       为空

is not null;       不为空

between and         范围查找     语法:select * from 表名 where 字段名 between 值1 and 值2;

regexp        正则表达式         语法:select * from 表名 where 字段名 regexp 'S ′ ;     S ';       S ;   S表示最后一个字母为S的

=  >  >=   <  <=  <>  !=  <=> 操作符

<>, != 不等于操作符,

<=>        和=作用一样,可以用于和null比较

create table 新表 select * from 旧表;      复制表结构及数据

creata table 新表 select * from 旧表 where 1 = 2;   只复制表结构到新表

create table 新表 like 旧表;            只复制表结构到新表

concat(string1,String2)     拼接字符串          语法:select concar(字段1,字段2)/(字段1,‘字符串’) from 表名;

substr(string,start,length)       截取字符串。

start开始截取位置,length截取长度

insert(str, x, y, insert);    将字符串str的x位置开始,y个字符替换为字符串insert

LENGTH(string)        计算字符的长度。

replace(string,‘要替换的字符’,‘替换的字符’)        对指定内容进行替换

round(number,[index])按指定位置对数字进行四舍五入运算

Index为正:表示小数点右边的位置

Index为负:表示小数点左边的位置

left(str, x)    right(str, x)  分别返回最左/右边的x个字符, 如果第二个参数为null则返回为null

lpad(str, n, pad),  rpad(str, n, pad);      用字符串pad对str最左边和最右边进行填充,直到长度为n个字符长度.

trim(str) ltrim(str) rtrim(str)       去掉字符串两边/左边/右边字符的空格

strcmp(s1, s2)      如果s1比s2小,返回-1,大,返回1,等于返回0    字符串,ASCII比较

运算符:

+ - * /  运算,一般用在计算年薪。

#salary月工资*12,其他运算同理

select name, salary*12 from user;

max()           计算最大值

min()           计算最小值

sum()        计算总和

avg()           计算平均值

#查询年龄最大的

先自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以扫码领取!

img

复习的面试资料

这些面试全部出自大厂面试真题和面试合集当中,小编已经为大家整理完毕(PDF版)

  • 第一部分:Java基础-中级-高级

image

  • 第二部分:开源框架(SSM:Spring+SpringMVC+MyBatis)

image

  • 第三部分:性能调优(JVM+MySQL+Tomcat)

image

  • 第四部分:分布式(限流:ZK+Nginx;缓存:Redis+MongoDB+Memcached;通讯:MQ+kafka)

image

  • 第五部分:微服务(SpringBoot+SpringCloud+Dubbo)

image

  • 第六部分:其他:并发编程+设计模式+数据结构与算法+网络

image

进阶学习笔记pdf

  • Java架构进阶之架构筑基篇(Java基础+并发编程+JVM+MySQL+Tomcat+网络+数据结构与算法

image

  • Java架构进阶之开源框架篇(设计模式+Spring+SpringMVC+MyBatis

image

image

image

  • Java架构进阶之分布式架构篇 (限流(ZK/Nginx)+缓存(Redis/MongoDB/Memcached)+通讯(MQ/kafka)

image

image

image

  • Java架构进阶之微服务架构篇(RPC+SpringBoot+SpringCloud+Dubbo+K8s)

image

image

535196)]

  • Java架构进阶之分布式架构篇 (限流(ZK/Nginx)+缓存(Redis/MongoDB/Memcached)+通讯(MQ/kafka)

[外链图片转存中…(img-BUpuUxtZ-1711460535196)]

[外链图片转存中…(img-Iy4OPvZs-1711460535196)]

[外链图片转存中…(img-hgHlaUxp-1711460535197)]

  • Java架构进阶之微服务架构篇(RPC+SpringBoot+SpringCloud+Dubbo+K8s)

[外链图片转存中…(img-aroOTx74-1711460535197)]

[外链图片转存中…(img-KmXymtY6-1711460535197)]

需要更多Java资料的小伙伴可以帮忙点赞+关注,点击传送门,即可免费领取!

  • 12
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值