数据库
首页 > 数据库> > 46-2·100 SQL单表多条件查询以及区间查询思考

46-2·100 SQL单表多条件查询以及区间查询思考

作者:互联网

 

 

--单表查询 学生表
 select * from st;

 -- count query 查询全部学生的数量 137
  select count(*) as 全部学生人数 from st;
  --查询全部女生人数  基础条件查询
  select count(*) as 全部女生人数 from st where sex2='女';
  --查询全部男生人数
  select count(*) as 全部mannum from  st where sex2='男';
  --查询所有年级
  select * from classStu;
  --查询名字为张三的人员信息
  select * from st where stname='张三';
  --查询专业为计算机的学生人员信息
  select * from st where major='计算机';
  --结果集 数量汇总  
  select count(*) as 计算机专业的全部学生 from st where major='计算机';
  --insert into 
  insert into  st(stname,sex2,major)values('男同学','男','计算机');
  --查询专业为计算机的女生人员的全部信息  and 条件表达式使用
  select * from st where sex2='女' and major='计算机';
  --数量汇总
  select count(*) as 计算机专业女生人数 from st where gender='女'
  --查询计算机专业,年龄小于30岁,大于22岁女生有哪些人? 数量有多少 
  select * from st where  gender='女' and major='计算机';

  --多条件判断查询   查询计算机专业,年龄小于30,大于20的女学生有哪些人,数量
 select * from st 
 where(age<30 or age>20) and sex2='女';
 --性别为女是确定的, 至于专业是必须吗? 
 select * from st where(major='计算机' or age<30 or age>20) and sex2='女';
 --汇总数量. 比课程多一个or条件. real 多条件查询 
 select count(*) as 计算机专业2030年龄之间的女生人数 from  st 
 where(major='计算机' or age>20 or age<30) and sex2='女';
  
  --查询计算机专业的男学生数量
  select count(*) as 计算机专业全部男学生人数 from st where Sex2='男' and major='计算机';

  --查询医学专业, 年龄大于25,小于40岁的女性学生有哪些人  数量是多少
  select * from st 
  where(major='医学' or age>20 or age <40) and gender='女';
  --count number 结果集数量汇总 
  select count(*) as 多条件查询医学专业女生人数 from st 
  where(major='医学' or age>20 or age<40) and gender='女'; --01写上大于20,会把大于20岁的人员信息全部拿到.20岁以下的不会拿到. 02 写上小于40岁,把把20岁以下的拿到,这个冲突了。
  --01 problem 某某之间的数据,获取到,如何获取? 
  --查询医学专业,年龄小于41岁的女性人数
  select * from st
  where(major='医学'  or age<=41) and gender='女';
  --数量汇总 
  select count(*) as 医学41岁以下女生人数 from st 
  where(major='医学' or age<=41)and gender='女';





  select * from st;

  --insert into 添加插入数据
  insert into st(stname,gender,major)values('学霸','男','计算机');
  --
  insert into st(stname,gender,major,age)values('女铭兴','女','艺术',16);

  --更新 update修改
  update st set sex2='男' where id=141;
  --条件更新
  update st set sex2='男' where id >=142 and id<= 144;
  --批量更新医学专业性别信息
  update st set gender='女' where id>=11 and id<=17;
  update st set gender='男' where  id>17 and major='医学';


    --alter  添加需要的列 这是为性别列 
  alter table st add gender varchar(100) null; 
  --delete table 删除列  
  alter table st drop column sex;

 效果

  

 

标签:major,46,st,--,SQL,查询,where,select
来源: https://www.cnblogs.com/zhuiqiuzhuoyueyouminxing/p/15967511.html