1. Preparación:
-- students表
create table students(
id int unsigned primary key auto_increment not null,
name varchar(20) default '',
age tinyint unsigned default 0,
height decimal(5,2),
gender enum('男','女','中性','保密') default '保密',
cls_id int unsigned default 0,
is_delete bit default 0
);
-- classes表
create table classes (
id int unsigned auto_increment primary key not null,
name varchar(30) not null
);
-- 向students表中插入数据
insert into students values
(0,'小明',18,180.00,2,1,0),
(0,'小月月',18,180.00,2,2,1),
(0,'彭于晏',29,185.00,1,1,0),
(0,'刘德华',59,175.00,1,2,1),
(0,'黄蓉',38,160.00,2,1,0),
(0,'凤姐',28,150.00,4,2,1),
(0,'王祖贤',18,172.00,2,1,1),
(0,'周杰伦',36,NULL,1,1,0),
(0,'程坤',27,181.00,1,2,0),
(0,'刘亦菲',25,166.00,2,2,0),
(0,'金星',33,162.00,3,3,1),
(0,'静香',12,180.00,2,4,0),
(0,'郭靖',12,170.00,1,4,0),
(0,'周杰',34,176.00,2,5,0),
(0,'凌小小',28,180.00,2,1,0),
(0,'司马二狗',28,120.00,1,1,0);
-- 向classes表中插入数据
insert into classes values (0, "python_01期"), (0, "python_02期"),(8,'Python_03期');
Dos, ejemplos de consultas
(1) Consulta de eliminación de duplicados
--使用distinct关键字对被查询的内容修饰
select distinct gender from students;
(2) Donde consulta de condición
1. Consulta del operador de comparación (no para demostrar si es demasiado simple)
2. Consulta de operadores lógicos (no demuestre si es demasiado simple)
3. Consulta difusa
select * from students where name like "%小%";
4. Consulta de rango
select * from students where age between 18 and 50;
select * from students where age in (18,28);
5. Encuentra valores nulos
select * from students where height is null;
6. Ordenar consulta
select * from students order by age asc , height asc;
7. Funciones agregadas
(1) count () consulta cuántos hombres hay
select count(gender) from students where gender=1;
(2) Consultar información sobre la persona más alta
select * from students where age=(select max(age) from students);
(3) Consultar la edad total
select sum(age) from students;
(4) Consultar la edad media
select avg(age) from students;
(5) Calcule la edad promedio con dos decimales.
select round(avg(age), 2) from students;