1.select完整语法
select [选项 all | distinct]
字段表达式
from 数据源
where 字段表达式
group by 子句
having 子句
order by 子句
limit 子句
sql语句的查询分为8个部分,每个部分要么不写,要么必须写在正确的顺序上.
1.1.select [选项 all | distinct]
all:全部,默认为all
distinct:去重
1.2.字段表达式
概念:表示从数据源中查询那些字段
写法:
a.单独列举字段名
select name,age from student;
b.*通配符,匹配所有字段名
select * from student;
c.聚合函数
count() :统计
sum() :求和
avg() : 求平均值
max() :求最大值
min() :求最小值
group_concat() :将组内字段的值用过,号拼接成一个字符串.
d.为字段取别名:字段名 as别名
select count (*) as 统计 from student;
as可以省略
select count(*) 统计 fromstudent;
1.3.from 子句
from 后面接的是数据源,表示数据的来源.
数据源:通常是由一张表,或多张表(指连表查询),或子查询组成.
连表查询:
select student.name,student.age,class.class_name,class_room
from student
join class on student.class_id=class.class_id;
1.4.where 子句
语法:where 条件表达式
作用:使用用于对数据源进行过滤和筛选.
过滤和筛选的原理:根据’条件表达式’的结果,如果结果为True,数据被保留,如果结果为False,结果被过滤掉.
例子:
查询学生中性别为女的学生
select * from student where sex = '女';
查询所有数据
select * from student where 1;
条件表达式的写法:
a.比较运算
< <= > >=
特殊:= != <>(也是不等于)
例子:
查询性别不为男生的学生
select * from student where sex