mysql3

排序
默认正序(asc)
select * from  表名 where 条件 order by 条件 desc(倒序);
SELECT * FROM person1 WHERE number ORDER BY number DESC;


查询:客服端程序 查询请求发送组服务器 服务器返回一个查询集是虚拟的
select * from 名字;


<>不等于
as 命名 起别名
select borndate as 出生日期 person1 where sex<>'女' order by number asc;


is null 是空
select * from students where email is not mull;查询不为空的


聚合函数
avg() 平均值
max()
min()
count()计数
sum()
select AVG(stundentResult) as 平均成绩, max(studentresult) as 最高成绩 from result;


字符串函数
字符串替换 insert()  select insert('这是 SQL SEVES数据库',3,10,'mysql');返回 这是mysql数据库
字符串联接 concat()  select concat('ff','gg','s'); 返回ffggs
转为小写   lower()   
专为大写   upper()
截取       substring() select insert('这是 SQLSEVES数据库',3,3); 返回 SQL




时间日期函数


curdate() 获取当前日期
curtime() 
now()
week(date)返回日期date为一年中的第几周
year(date)返回日期date的年份
hour(time)返回时间time的小时值
minute(time)返回时间time的分钟值
datediff(date1,date2)返回date1和date2之间相隔的天数
adddate(date,n)计算日期参数date加上n天后的日期




数学函数


ceil(x)返回大于或等于数值x的最小整数 向上取整 select ceil(2,3) 返回3
rand()返回0-1之间的随机数
floor(x)向下取整


limit 用来分页,因为数据太多不可能显示在一页上
limit 4;显示前4条
limit 4,4;从第5条开始显示4条  4,4*(页数-1)


#将工龄大于4的,都是女的工资加1000
UPDATE person1 SET salary=salary+1000 WHERE gongling>4 AND sex='女';


#将所有性别为女的名字出生日期复制到新表里
CREATE TABLE qw-person
SELECT s.name,s.bornDate FROM person1 s WHERE sex='女';


#查询出生日期为1990-01-02前两个人的名字和性别
SELECT NAME,sex FROM person1 WHERE bornDate='1990-01-02' LIMIT 2;


#将所有女学生按年龄从大到小排序,从第2条记录开始显示3名女学生的姓名、年龄、出生日期、手机号信息
SELECT myname,FLOOR(DATEDIFF(NOW(),bornDate)/365),bornDate,phones FROM person1 WHERE sex='女' ORDER BY bornDate DESC LIMIT 1,4;


#按出生年份分组统计学生人数,将各组中人数达到2人的年份和人数显示出来
SELECT COUNT(*),brondate FROM person1 GROUP BY YEAR(borndate)
HAVING COUNT(*)>=2 


#查询参加2016年2月17日考试的所有学员的最高分、最低分、平均分
SELECT MAX(studentResult),MIN(studentResult),AVG(studentResult) FROM result1 WHERE exandate='2018-03-15';


查询年龄大于小李的所有人显示所有信息
SELECT studentNo,studentName,sex,bornDate,address
 FROM student 
 WHERE bornDate >(select borndate from student where studentname='小李');




#查询获得“Logic Java”课程的课程编号
#查询获得“Logic Java”课程最近一次的考试日期
#根据课程编号查询考试成绩的最高分和最低分


SELECT MAX(studentResult),
       MIN(studentResult) 
FROM result
WHERE subjectNo=
    (SELECT subjectNo FROM SUBJECT 
      WHERE subjectName='Logic Java' ) AND
      examDate=(SELECT MAX(examDate) FROM result 
         WHERE subjectNo=(SELECT subjectNo FROM SUBJECT 
         WHERE subjectName='Logic Java' ) );


#查询“Logic Java”课程成绩为60的学生名单 将=改为in
SELECT studentname FROM students 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 students
WHERE studentno IN
(SELECT studentno FROM result1 WHERE exandate=(SELECT MAX(exandate) FROM result1 WHERE subjectno=
(SELECT subjectno FROM SUBJECT WHERE subjectname='java'))
AND subjectno=(SELECT subjectno FROM SUBJECT WHERE subjectname='java'))


#查询s1开设课程的编号
SELECT subjectname FROM SUBJECT WHERE 
gradeId IN (SELECT gradeId FROM gradeid WHERE gradename='s1')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值