Mysql---使用as替代字段名 & where条件的使用

时间:2021-02-13 03:01:14
数据准备:



  • 查询指定字段
select 1 ,列 2 ,... from 表名;
例:
select name,gender from students;



  • 使用 as 给字段起别名
select id as 标号, name as 名字, gender as 性别 from students;



  • 可以通过 as 给表起别名

-- 如果是单表查询 可以省略表明
select id , name , gender from students;

-- 表名.字段名
select students. id ,students. name ,students.gender from students;

-- 可以通过 as 给表起别名
select s. id ,s. name ,s.gender from students as s;


消除重复行
  • 在select后面列前使用distinct可以消除重复的行
select distinct 1,... from 表名;
例:
select distinct gender from students;




条件查询:

使用where子句对表中的数据筛选,结果为true的行会出现在结果集中
  • 语法如下:
select * from 表名 where 条件;
例:
select * from students where id = 1 ;
  • where后面支持多种运算符,进行条件的处理
    • 比较运算符
    • 逻辑运算符
    • 模糊查询
    • 范围查询
    • 空判断

比较运算符

  • 等于: =
  • 大于: >
  • 大于等于: >=
  • 小于: <
  • 小于等于: <=
  • 不等于: != 或 <>

例1:查询编号大于3的学生
select * from students where id > 3 ;
例2:查询编号不大于4的学生
select * from students where id <= 4 ;
例3:查询姓名不是“黄蓉”的学生
select * from students where name != '黄蓉' ;
例4:查询没被删除的学生
select * from students where is_delete= 0 ;

逻辑运算符

  • and
  • or
  • not
例5:查询编号大于3的女同学
select * from students where id > 3 and gender= 0 ;
例6:查询编号小于4或没被删除的学生
select * from students where id < 4 or is_delete= 0 ;

模糊查询

  • like
  • %表示任意多个任意字符
  • _表示一个任意字符
例7:查询姓黄的学生
select * from students where name like '黄%';
例8:查询姓黄并且名字是一个字的学生
select * from students where name like '黄_';
例9:查询姓黄或叫靖的学生
select * from students where name like '黄%' or name like '%靖';

范围查询查询

  • in表示在一个非连续的范围内
例10:查询编号是1或3或8的学生
select * from students where id in ( 1 , 3 , 8 );
  • between ... and ...表示在一个连续的范围内
例11:查询编号为3至8的学生
select * from students where id between 3 and 8 ;
例12:查询学生是3至8的男生
select * from students where id between 3 and 8 and gender= 1 ;

判断

  • 注意:null与''是不同的
  • 判空is null
例13:查询没有填写身高的学生
select * from students where height is null ;
  • 判非空is not null
例14:查询填写了身高的学生
select * from students where height is not null ;
例15:查询填写了身高的男生
select * from students where height is not null and gender= 1 ;

优先级

  • 优先级由高到低的顺序为:小括号,not,比较运算符,逻辑运算符
  • and比or先运算,如果同时出现并希望先算or,需要结合()使用