一:单表查询的语法
select 字段1,字段2 from 表名 where 条件 group by having order by limite
二:关键字的执行优先级
三:简单查询
1:select字句指定查询结果---就是要输出的字段名
2:select可以查询多个字段名,中间用逗号隔开
3:使用now()函数来显示当前的时间
select departno as 部门,now() from department;
4:查询的结果显示新的列名有2种方法
1:字段名 as 别名 2:字段名 别名
select departno as 部门 from department; select departno 部门 from department;
5:输出的列名不能有重复的,使用distinct函数
语法
select distinct 列名
输出的系号不能有重复的
select distinct departno from course;
四:使用where字句约束
where字句可以使用运算符
| 比较运算符 | > >= < <= <> != !> !< | 比较字段值的大小 |
| 范围运算符 | between ..and not betweeen...and | 判断字段值是否在指定范围内 |
| 列表运算符 | in ,not in | 判断字段值是否在指定的列表中 |
| 模式匹配运算符 | like ,not like | 判断字段值是否和指定模式字符串匹配 |
| 空值判断运算符 | is bull ,is not null | 判断字段值是否为空 |
| 逻辑运算符 | and,or ,not | 用于多个条件表达式的逻辑连接 |
都是在where语句中发挥作用的
每个运算符使用
比较运算符的使用
查看课程编号>002的课程
select * from course where couno > '002';
范围运算符的使用
查询有哪些课程是在课程编号001和003之间的课程
select couname from course where couno between '001' and '005';
列表运算符的使用
查询学生的学号在一个范围内
select *
from student
where stuno in ('00000001','00000006','00000008');
模式匹配运算符的使用(模糊查询)
就是在指定的条件不是很明确的条件下,使用like进行运算与字符串进行匹配
通配符
| % | 匹配任意长度0或者多个的字符串 |
| _ | 匹配单个字符串 |
通配符和字符串必须要在单引号里面
like '张%' 搜索以张开头的名字
like '%张% 匹配有张的名字'
like '张%' 匹配最后一个以张结尾的
like '_张%' 表示匹配的第二个字符为必须为张
如果搜索的字符串有通配符的话,使用转义字符就可以了 \_
搜索以陈开头的名字
select * from student where stuname like '陈%';
空值运算符的使用
就是来判断指定字段的值是否为空值
查看photo中有空值的数据
select * from student where photo is null;
逻辑运算符的使用
and or not
and 连接2个表达式 都成立才行
or 有一个成立就执行
not 给条件取反就执行
查看种类是人文并且学分小于1.5
select * from course where kind = '人文' and credit < 2;
总结一下,where语句就是筛选,匹配列名符合什么条件
五:分组查询