MySQL运算符,外键

MySQL运算符,外键MySQL运算符算术运算符比较运算符逻辑运算符类主要集合统计函数计数计算总和计算平均值求最大值求最小值group分组操作外键约束外键特点基础语法1对11对多,多对1多对多MySQL运算符算术运算符、比较运算符、逻辑运算符算术运算符只能针对数值类型进行计算,如果是非数值类型则自动转换,如果转换失败则0进行处理比较运算符like配合%和_进行模糊查询In查询年龄在15\19\21的学生 where age=15 or age=19 or age=21使用in
摘要由CSDN通过智能技术生成

MySQL运算符

算术运算符、比较运算符、逻辑运算符

算术运算符

只能针对数值类型进行计算,如果是非数值类型则自动转换,如果转换失败则0进行处理
在这里插入图片描述
在这里插入图片描述

比较运算符

在这里插入图片描述
like
配合%和_进行模糊查询

In
查询年龄在15\19\21的学生 where age=15 or age=19 or age=21
使用in where age in (15,19,21)
不在某范围内 where age not in (15,19,21)

Between
查询工资在1000到2000之间 where salary>=1000 and salary<=2000
使用between/and的写法 where salaray between 1000 and 2000
不在某个范围内 where salary not between 1000 and 2000
between和in的区别
In用于离散值 between用于连续值
使用正则式进行条件判断
在这里插入图片描述
判空处理

在这里插入图片描述

逻辑运算符

在这里插入图片描述
练习:查全体学生的姓名及其出生年份。
select 2021-age birth,age from student;

练习:查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄
练习:查询年龄不在20~23岁之间的学生姓名、系别和年龄
select name,dept,age from student where age between 20 and 23 —连续值
select name,dept,age from student where age in(20,21,22,23) —离散值

消除取值重复的行
在SELECT子句中使用DISTINCT短语
Select distinct Sno fromSC 如果distinct后面有多个列,则表示针对多个列的组合进行去重处理

ALL 与 DISTINCT
查询选修了课程的学生学号。
SELECT Sno FROM SC 或(默认 ALL) SELECT ALL Sno FROMSC;
SELECT DISTINCT SnoFROM SC;
注意 DISTINCT短语的作用范围是所有目标列

例:查询选修课程的各种成绩
错误的写法:SELECT DISTINCT Cno,DISTINCT Grade FROM SC;
正确的写法:SELECT DISTINCT Cno,Grade FROM SC;

limit的用法
Select * from student limit 3; 表示从第0行开始获取前3行数据
Select * from student limit 2,3; 表示从第2行开始获取前3行数据

查询3名男生 select * from student where sex=1 limit 3;
注意顺序

Order by排序
可以按照指定的列值进行排序 正序asc,默认可以省略;逆序desc

按照成绩排序,获取前3个男生

  • Select * from student order by score 从小到大
  • Select * from student order by score desc 从大到小

Order by 可以按照一个指定列进行排序,也允许指定多个列进行排序

  • Select * from student order by score desc, age
  • select * from student order by age desc,name desc,id desc;

类主要集合统计函数

是SQL基本函数,聚合函数对一组值执行计算,并返回单个值,也被称为组函数
聚合函数经常与 SELECT 语句的 GROUP BY 子句的HAVING一同使用

计数

统计总行数COUNT([DISTINCT|ALL]
COUNT([DISTINCT|ALL] <列名>)
select count(distinct age) from student; 取消age重复值后进行统计
select count(age) from student; 不会进行去重的统计
针对null的处理
在这里插入图片描述
count(

在这里插入图片描述
Count(id)返回值和count(*)不一致,即使表中只有一个列id,*和id的含义不一致
在这里插入图片描述
null值根本就不参与运算

计算总和

SUM([DISTINCT|ALL] <列名>)
获取所有学生的成绩总和
Select sum(score) from student;
参与运算的列应该是数值型。
如果不是数值型则自动进行尽可能的转换,转换成功后按照对应的值进行处理,否则按照0处理。 例如select ‘11a’+’b12’返回为11,select ’11a’+’12b’返回23

计算平均值

AVG([DISTINCT|ALL] <列名

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值