查询出每门课大于80分的学生姓名
name kecheng fenshu
张三 语文 81
张三 数学 75
李四 语文 76
李四 数学 90
王五 语文 81
王五 数学 100
王五 英语 90
select distinct name from table where name not in (select distinct name from table where fenshu<=80)
或
select name from table group by name having min(fenshu)>80
删除除了自动编号不同, 其他都相同的学生冗余信息
自动编号 学号 姓名 课程编号 课程名称 分数
1 2005001 张三 0001 数学 69
2 2005002 李四 0001 数学 89
3 2005001 张三 0001 数学 69
delete table where 自动编号 not in ( select min(自动编号) from table group by 学号, 姓名, 课程编号, 课程名称, 分数)
一个叫team的表, 里面只有一个字段name, 一共有4条记录, 分别是a,b,c,d, 对应四个球队, 现在四个球队进行比赛, 用一条sql语句显示所有可能的比赛组合.
select a.name , b.name from team a, team b where a.name<b.name
触发器
是一种特殊的存储过程, 主要是通过事件来触发而被执行的.
存储过程
是一个预编译的SQL语句, 如果某冷色操作需要执行多次sql, 使用存储过程比单纯的SQL语句执行更快.
执行计划
SQL优化大概是这样一个过程: (1) 定位执行效率低的SQL语句 (2) 分析为会么这些SQL执行效率低,(3) 采取优化措施.
EXPLAIN命令可以查看优化器如何决定执行查询的主要的方法 .