
1.基本查询语句
select <列名1>,<列名2>,.......
from <表名>;
SQL语句:select 姓名,性别 from student;
查询结果:
SQL语句:select * from student;
查询结果:(*表示查询所有)
为列设置别名:as
SQL语句:select 姓名 as s_name,性别 as ‘人类性别’ from student;
查询结果:(注意列名的显示,会变成设置的别名)
删除重复值:distinct
SQL语句:select distinct 姓名 from student;
查询结果:(原表中‘猴子’有两个,当使用distinct时,就会删除一个)
SQL语句:select distinct 学号,姓名 from student;
查询结果:(注意因为学号那一列不存在重复值,所以姓名那列也不做删除)
书写规则:
- 以英文分号结尾
- 关键字不区分大小写
- 列名不能加单引号,列名命名时不能有空格
- 符号只能使用英文符号
2.如何为查询语句指定条件
例如选取姓名列值为猴子的行用where进行指定条件
select 姓名,学号 --------------------1 从查询出的行中选取出select语句指定的列
from student --------------------2 from 从那张表中查找数据
where 姓名='猴子';--------------------3 where查询出符合条件的行
上面的1,2,3为SQL语句的执行顺序,了解执行顺序,可以方便我们更好的理解SQL语句。
3.注释和SQL语句注意事项
为了更好的理解sql语句,我们通常会在SQL语句上面使用注释对语句进行说明
单行注释:-- 查询出全部列 (注意--后面又有英文的空格)
多行注释:
4.运算符
- 算数运算符:+, -, *, /
特殊:5+null=null
SQL语句:select 学号,成绩,成绩/100 as '百分比成绩' from score;
查询结果:
- 比较运算符 =, >, <,<>,>=,<=
SQL语句:select 学号,成绩 FROM score WHERE 成绩<60;
查询结果:
SQL语句:select 姓名,出生日期 FROM student WHERE 出生日期<'1990-01-01';
查询结果:
- 字符串比较规则:按字典顺序
- 如何查询出null值?
SQL语句:SELECT 教师号,教师姓名 FROM teacher WHERE 教师姓名 is null;
查询结果:
SQL语句:SELECT 教师号,教师姓名 FROM teacher WHERE 教师姓名 is not null;
查询结果:
- 逻辑运算符:
not:否定某一条件
SQL语句:SELECT 学号,成绩 FROM score WHERE NOT 成绩 >= 60;
查询结果:
and:并且
SQL语句:SELECT 学号,成绩 FROM score WHERE NOT 成绩 >= 60 AND 成绩<=90;
查询结果:
between:范围查询
SQL语句:select 学号,成绩 from score where 成绩 BETWEEN 60 AND 90;
查询结果:
or:或者
SQL语句:select 学号,成绩 from score where 成绩<60 or 成绩>90;
查询结果:
in:or的简单写法
SQL语句:select 姓名,性别 from student where 姓名 in ('猴子','马云');
查询结果:
5.字符串模糊查询
字符串模糊查询:like
- %可以表示任意字符串
查询姓猴的学生名单:
SQL语句:select * FROM student WHERE 姓名 LIKE '猴%';
查询结果:
查询姓名中最后一个字是猴的学生名单:
SQL语句:select * FROM student WHERE 姓名 LIKE '%猴';
查询姓名中带猴的学生名单:
SQL语句:select * FROM student WHERE 姓名 LIKE '%猴%';
- _ 1个下划线表示任意的一个字符
查询姓王的学生名单,并且名字是三个字
SQL语句:select * FROM student WHERE 姓名 LIKE '王__';
查询结果: