单表查询

发布时间 2023-12-02 21:29:08作者: q_7

一:单表查询的语法

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语句就是筛选,匹配列名符合什么条件

 

五:分组查询