小粥重学mysql(4)之DCL(数据库查询语言)----基础查询
语法
select
字段列表
from
表名列表
where
条件列表
group by
分组字段
having
分组后条件限定
order by
排序
limit
分页的限定
练习环境
DCL系列通用
创建表
CREATE TABLE `stu` (
`id` int(11) DEFAULT NULL,
`name` varchar(32) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`sex` varchar(10) CHARACTER SET gbk DEFAULT NULL,
`address` varchar(10) CHARACTER SET gbk DEFAULT NULL,
`math` int(11) DEFAULT NULL,
`english` int(11) DEFAULT NULL
)
插入数据
insert into stu values
(1,"马云",36,"男","杭州",66,78),
(2,"马化腾",45,"女","深圳",98,87),
(3,"马景涛",55,"男","香港",56,77),
(4,"柳岩",20,"女","湖南",76,65),
(5,"柳青",20,"男","湖南",86,null),
(6,"刘德华",57,"男","香港",99,99),
(7,"马德",22,"女","香港",99,99),
(8,"德玛西亚",18,"男","南京",56,65);
栗子
多字段
# 查询姓名和年龄
select name , age from stu
去重
# 查询同学的地址都
select address from stu --有重复数据
# 查询同学的地址,去除重复结果集
select distinct address from stu
计算列
# 计算math 和 english 分数之和
select name, math,english,(math+english) from stu
# 如果有null参与计算,计算结果都为null
select
name,
math,
english,
(math + ifnull(english,0)) -- 如果english是null,替换为0
from
stu
起别名
select
name as 姓名,
math as 数学,
english as 英语,
(math + ifnull(english,0)) as 总分 -- 如果english是null,替换为0
from
stu