一.基本的查询语句
select 列名1,列名2,... ... #select 字句
from 表名; #from字句
select * from 查询出全部列
为列设定别名 as :在别名是中文时,需要用单引号括起。 as的作用可以让执行结果让人更便于理解和操作。
删除重复数据:distinct用在列名前可以删除重复数据,只保留一个。值得注意的是,distinct作用于所有的列,不仅仅是其后的那一列,不能部分使用。
sql书写规则:
1.当distinct用于多列前时,会将多列数据进行组合,只有多列数据都相同时,才算相同数据。
2.关键词及表面、列名不区分大小写,但是数据区分。
3.列名之间不能有空格。
4.符号只能用英文符号。
练习一:查询学生表
结果1以select from语句查询了course表中的3个列。
结果2中使用了*,查询出了student表中的全部列。
结果3中尝试了 as 给列取别名的运用。
结果4中尝试了distinct关键词的运用,删除了重复值。
结果5中尝试了使用distinct关键词在多列中的运用,结果表明,只有在多列值都相等时,才会将重复行删除。
二.指定查询条件
where:查询出符合条件的行。
③select 姓名,学号
①from student
②where 姓名=‘猴子’;
序号代表sql运行数据,注意理解书写顺序和运行数据的不同。
sql运行数据:select字句最后运行,其他字句按书写顺序运行。
三.注释和sql语句注意事项
--空格:单行注释
/*
*/:多行注释
四.运算符
算术运算符:+,-,*,/(运算时与普通数学运算一样,但是需要特别注意,所有与null运算的结果都为null,如5+null=null)
比较运算符:=,<>(不等于),>,>=,<,<=(符号顺序和书写顺序一样)
字符串比较规则:从第一个字符开始比较,按数字大小和字母表
如何查询出null值:使用运算符is null,is not null
练习:算术运算符和比较运算符
结果1中尝试了算术运算符中的减法和除法运算
结果2中尝试了比较运算符的大于等于符号,用where字句进行结果筛选
结果3中用比较运算符,对学生表中学生的出生日期进行了筛选
结果4中练习了is not null,对空值的判断
逻辑运算符:
not:否定某一条件,and:并且,between:范围查询
or:或者,in:or的简单写法
在navicat中练习了and运算符和or运算符,值得注意的是,将or运算符括起来,以让顺序有序。
范围查询:between 查找时包括区间边界值
in是not的简便写法:
select 姓名,性别
from student
where 姓名 in(‘猴子’,‘马云’);
加上not运算符后,表示既不是...也不是...:
select 姓名,性别
from student
where 姓名 not in(‘猴子’,‘马云’);
练习:复杂的查询条件
查询出生日期在1990-06-15至1991-06-15之间性别为女的学生。
查询课程名称为数学或语文的课程信息
查询成绩不小于等于80的分数
五.字符串模糊查询
%表示任意字符串,关键词like表示字符串模糊查询
几个下划线表示几个字符,可以确定要查找的字符数量
练习:查找学生
结果1为查询student表中姓猴的学生名单
结果2为查询姓名最后一个字是猴的学生名单, 结果为空
结果3为查询姓名中带猴的学生名单
总结:
重点注意理解sql的运行顺序