MySQL查询

2022/5/31 2:19:52

本文主要是介绍MySQL查询,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

# 学生表 
CREATE  TABLE s(
sno INT ,--学号
sname VARCHAR(20), -- 姓名
age INT , -- 年龄
sex VARCHAR(10), -- 性别
sdept VARCHAR(20) -- 院系
);

INSERT INTO s(sno,sname,age,sex,sdept) VALUE

(1,'张三',10,'男','cs'),    
(2,'李四',20,'男','ci'),
(3,'王五',10,'女','cs'),
(4,'刘六',20,'男','math')

# 学习关系表
CREATE TABLE sc(
sno INT,--学号
cno INT, -- 课程号
grade VARCHAR(20) -- 年级
);

INSERT INTO sc(sno,cno,grade) VALUE
(1,1,'一年级'),
(2,3,'二年级'),
(4,2,'五年级'),
(3,3,'六年级')

# 课程关系表

CREATE TABLE c(
cno INT,
CNAME VARCHAR(20), -- 课程名称
cdept VARCHAR(10), -- 
tname VARCHAR(10)  --
)

INSERT INTO c(cno,CNAME,cdept,tname) VALUE
(1,'math','课程1','2021-11-22'),
(2,'chinese','课程2','2011-11-22'),
(4,'English','课程3','2001-11-22'),
(3,'English','课程3','2001-11-22')

首先创建学生表s,学习关系表sc,课程关系表c

and  同时满足大于一个的条件

1、查询年龄20岁以上的女性姓名,

 select sname
 from s
 where age>=20 and sex='女';

 

 

 

 or   满足两个或者两个以上条件中的一个

2、查询课程号是1或者3 的学生学号

select sno
 from sc
where cno=1 or cno=3;

 

 

 

 

in   包含条件中任意一条

3、查询一年级,二年级,五年级学生的学号

 select sno
from sc
where grade in ('一年级','二年级','五年级');

 

 

 

 

=,>=,<=,!=

4、查询学习cs的学生姓名

select sname
from s
where sdept='cs';

 

 

 

 5、查询年龄大于等于20 的学生姓名

select sname from s where age>=20;

 

 

 

 

6、查询年龄小于等于10的学生姓名

 select sname from s where age<=10;

 

 

 

 

between 范 and 围  查询范围

 7、查询年龄在10到15之间的学生姓名

select sname from s where age between 10 and 15;

 

 

 

 

%匹配任意字段

8、用c匹配字段
select *
from s
where sdept like ('c%');

 

 

 

 ^ 以什么开头

9、查询以m开头的所有字段

 select * from s where sdept rlike '^m';

 

 

 

 $以什么结尾

10、查询以s结尾的字段
select * from s where sdept rlike 's$';

 

 

 

 

max

11、select  max(age) from s;  s表中最大年龄

min

12、select  min(age) from s;  s表中最小年龄

avg

13、select  avg(age) from s;  s表中的平均年龄

sum  计数总和

14、select  sum(age) from s;  s表中的年龄总和

 

 

 

distinct   去除重复字段

15、select  distinct * from s;  去除s表中重复课程

 

 

 

 

order by(esc:正序,desc:倒序)  排序函数

 16、select * from s where age order by age;  以年龄排序

  select * from s where age order by age desc;

 

 

 

 

group by  聚合函数

17、select sex,avg(age)from s group by sex;  按性别取平均年龄

 

 

 select sex,avg(age)from s group by sex having avg(age)>10 order by avg(age) desc ;  按性别取平均年龄并把年龄大于10的倒序排列

 



这篇关于MySQL查询的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程