day06:基础查询
基础查询的语法:select 查询列表 from 表名;其中select标识选择哪些列,from标识从哪个表中选择
特点:1、查询列表可以时:表中的字段、常量值、表达式、函数
2、查询结果是一个虚拟的表格
一、查询表中的单个字段:select 字段名称 from 表名,例如:查询student表中的name字段如下;
select name from student;
二、查询表中的多个字段:select 字段名称,字段名称... from 表名;
三、查询表中的所有字段: select * from 表名;
四、别名; 方式一: select 字段名称 as 别名 from 表名;方式二: select 字段名称 别名 from 表名;
好处:1、提高可读性,便于理解;2、如果查询的字段有重名的情况,便于区分开来
五、去重(distinct); select distinct 字段名称 from 表名;
六、条件查询
语法:select 查询列表 from 表名 where 查询条件;
分类:
1、按条件表达式筛选 :简单条件运算符:> < = != <> >= <=
例如:查询age>20的学生的信息: select * from student where age > 20;
2、按逻辑表达式筛选 : && || ! and or not
&& 和 and : 两个条件都为true,结果为true,反之为false
|| 或 or : 只要有一个条件为true,结果为true,反之为false
! 或 not : 如果连接的条件本身为false,j结果为true,反之为false
例如:查询age > 7并且class='NIIT软件2班'的学生的信息 :
select * from student where age > 7 and class='NIIT软件2班';
3、模糊查询 : like between and in is null
例如:查询姓名(name)以小开头的学生;
select * from student where name like '小%';
七、排序查询
语法:select 查询列表 from 表 (where 筛选条件) order by 排序列表 (asc/desc)
特点:1、asc代表的时升序,desc代表的是降序,如果不写,默认是升序
2、order by 子句中可以支持单个字段、多个字段、表达式、函数、别名
3、order by 子句一般是放在查询语句的最后面,limit子句除外
例如:查询学生信息(student),要求年龄从高到低排序
select * from student order by age asc; select * from sdudent order by age;
例如:查询学生信息(student),要求年龄从低到高排序
select * from student order by age desc;
八、分组查询
语法:select 查询列表 from 表 (where 筛选条件) group by 分组列表 ;
例如:根据部门编号分组统计每个部门的员工个数
select count(*) from employee group by departmentid;