MySQL--03

查询:SELECT * FROM 表名;
1.查询产生一个虚拟表。
2.看到的是表形式显示的结果,但结果并不真正存储。
3.每次执行查询只是从数据表中提取数据,并按照表的形式显示出来。

查询语法:
SELECT 列名|表达式|函数|常量 
FROM 表名 
WHERE 查询条件表达式 
ORDER BY 排序的列名[ASC(正)或DESC(倒)];

使用AS命名列:
SELECT studentNo AS 学生编号,studentName AS 学生姓名,
address AS 学生地址
FROM student 
WHERE address <> '河南新乡';
查询空行(非空:not null)
SELECT studentName FROM student WHERE email IS NULL;
聚合函数:
1.avg():返回某字段的平均值。
2.count():返回某字段的行数。
3.max():返回某字段的最大值。
4.min():返回某字段的最小值。
5.sum():返回某字段的和。
字符串函数:
1.CONCAT(str1,str1...strn):字符串连接。
2.INSERT(str,pos,len,newstr):字符串替换。
3.LOWER(str):将字符串转为小写。
4.UPPER(str):将字符串转为大写。
5.SUBSTRING(str,num,len):字符串截取。
时间日期函数:
1.CURDATE():获取当前日期。
2.CURTIME():获取当前时间。
3.NOW():获取当前日期和时间。
4.WEEK(date):返回日期date为一年中的第几周。
5.YEAR(date):返回日期date的年份。
6.HOUR(time):返回时间time的小时值。
7.MINUTE(time):返回时间time的分钟值。
8.DATEDIFF(date1,date2):返回日期参数date1和date2之间相隔的天数。
9.ADDDATE(date,n):计算日期参数date加上n天后的日期。
数学函数:
1.CEIL(x):返回大于或等于数值x的最小整数。
2.FLOOR(x):返回小于或等于数值x的最大整数。
3.RAND():返回0~1间的随机数。

LIMIT子句:
SELECT 字段名列表
FROM 表名或视图
WHERE 查询条件
GROUP BY 分组的字段名
ORDER BY 排序的列名[ASC或DESC]
LIMIT 位置偏移量,行数;

实例:

#查询2016年2月17日考试前5名的学员的学号和分数
select studentno,studentresult from result where examDate='2016-02-17'
order by studentresult desc limit 5;

#将所有女学生按年龄从大到小排序,从第2条记录开始显示6名女学生的姓名、年龄、出生日期、手机号信息
select studentname,floor(datedife(now(),bornDate)/365) from student
where sex='女'
order by bornDate desc limit 1,6;

#按出生年份分组统计学生人数,将各组中人数达到2人的年份和人数显示出来
select count(*),borndate from student group by year(borndate)
having count(*)>=2;

#查询参加2016年2月17日考试的所有学员的最高分、最低分、平均分
select max(studentresult),min(studentresult),avg(studentresult)
from result where examDate='2016-02-17';

子查询(in:在,not in:不在):

实例:
#查询“Logic Java”课程考试成绩为60分的学生名单
select studentname from sudent where studentno in
(select studentno from result where studentresult=60 and subjectno=
(select subjectno from subject where subjectname='java'))
#查询参加“Logic Java”课程最近一次考试的在读学生名单
select studentno,studentname from student
where studentno in
(select studentno from result where examDate=
(select max(examDate) from result where subjectno=
(select subjectno from subject where subjectname='java'))
and subjectno=(select subjectno from subject where subjectname='java'))









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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值