sql基础查询笔记(仅作为个人笔记使用)

尚硅谷029-027 基础查询

  • 运算:
    • +号:在sql中,加号仅用于运算符
    • 字段运算:可以用:表名+*/数值的形式,如:month_salary * 12 as 'anual salary'
  • 显示字段详细信息:
    • desc 表名;
  • ifnull函数:
    • select ifnull(字段名,返回值) 如:select ifnull(departments,0)

尚硅谷028-036 条件查询

  • 简单条件运算符:< > = <> !=
  • 逻辑运算符:
    • && and   两个条件如果都为true,结果为true
    • || or  两个条件有一个为true,结果为true
    •  ! not  条件为false
  • 模糊运算符:between and,  like,  in
  • 安全等于:
    • <=> 即可以判断null值,也可以判断普通数值
    • is null 仅仅可以判断空值

MySQL入门经典 基础知识  2021.11.18

  • 查询

1.any和all

any表示有任何一个满足就返回true,all表示全部都满足才返回true

比如
select * from student where 班级=’01’ and age > all (select age from student where 班级=’02’);
就是说,查询出01班中,年龄大于 02班所有人的同学
相当于
select * from student where 班级=’01’ and age > (select max(age) from student where 班级=’02’);


select * from student where 班级=’01’ and age > any (select age from student where 班级=’02’);
就是说,查询出01班中,年龄大于 02班任意一个 的 同学
相当于
select * from student where 班级=’01’ and age > (select min(age) from student where 班级=’02’);
————————————————
版权声明:本文为CSDN博主「xianglingchuan」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xianglingchuan/article/details/51737330

2.exist的用法

select * from emp where deptno in (select deptno from dept where deptno <30);

select * from emp e where exists (
    select * from dept d where  deptno <30 and d.deptno = e.deptno)
————————————————
版权声明:本文为CSDN博主「做猪呢,最重要的是开森啦」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43901882/article/details/89467490

3.正则表达式中*和+的区别

1)*有无均可

select *
from vendors
where vendor_state regexp 'M*A'

可以返回MA\CA\FA等的记录

2)+必须有

select *
from vendors
where vendor_state regexp 'M+A'

只能返回至少有一个M的记录,如MA\CMA等

4.正则表达式不区分大小写,除非用BINARY(regexp binary 'xx')

  • 函数

5.数学函数

truancate(保留小数函数)和round(四舍五入函数)的相似用法:

select truncate(3.14926535,3),round(3.14926535,3)  :3.149

如果round(3.1499,3) 应该四舍五入,即3.150

如果round(3.14) 结果为四舍五入后的整数:3

round函数和format函数(格式化函数)用法相同

6.字符串函数

field()函数(按字段排序函数)

field(字段名,str1,str2,str3……)

order by field(name,'seiki','iris','xut')

不在str1,str2,str3中的内容,放在最前面返回,str值相同按照主键的顺序

locate(substr,str)定位函数

locate('me','you love me') 输出10

7.日期和时间函数

datediff(d1,d2)函数(时间段计算函数)和subdate(d,n)函数

datediff计算d1和d2之间的时间,即d1-d2

subdate计算时间d减去n天的时间

8.条件判断函数

1)if(expr,v1,v2)

如果表达式expr成立,则执行v1,否则执行v2

2)case when exp1 then v1 [when expr2 then v2……][else vn] END

如:select id,grade,

case when grade>10000 then 'very good'

when grade<10000 and grade > 1000 then 'popularly'

else 'not good' end level(给这一列取名为level)

from tb_bccd

9.加密函数

1)password(str)

2)MD5(str)


10.随机数的应用:

floor(x)函数:返回小于或等于x的最大整数

ceilin(x)函数:返回等于或大于x的最小整数

rand()函数:用于返回0-1的完全随机数

        例题:生成三个1-100之间的随机整数

        select round(rand()*100),floor(rand()*100),ceilin(rand()*100)

10.join的模糊查询?

select myv2.'avg',g.grade_level
from myv2
join job_grades g
on myv2.'ag' between g.'lowest_sal' and g.'highest_sal';

输出结果:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值