一、基本的查询语句



select <列名1>,<列名2>,.....
from <表名>;



1. select*:星号(*)查询出全部列

2. as:为列设定别名



select 姓名 as s_name,性别 as '人类性别'
from student;



别名为中文时要加上''

列名不能加''

3. 删除重复数据:distinct



select distinct 姓名
form student;



distinct 放在多列前面时,会根据多列组合的内容,删除重复的数据

练习一:查询学生表




ES match_phrase模糊查询_ES match_phrase模糊查询


二、 指定查询条件

  1. 查询条件
select 姓名,学号
from student
where 姓名='猴子';


运行顺序:from→where→select

练习二:理解SQL运行顺序

SQL运行顺序:

select子句最后运行,其他句子按书写顺序运行。

三、注释和SQL语句注意事项

  1. 注释
单行注释:--英文空格
     多行注释:/*
               注释的内容
               可以写多行
               */


2. SQL语句注意事项:

注意中英文符号

子句中间可以换行

四、运算符

1. 算术运算符


ES match_phrase模糊查询_sql 不等于符号_02


select 学号,成绩
成绩/100 as'百分比成绩'
from score;


2. 比较运算符


ES match_phrase模糊查询_select下拉框带模糊查询_03


查询出不及格的学生


select 学号,成绩
from score
where 成绩<60;


查找出出生日期小于1990-01-01的学生


select 姓名,出生日期
from student
where 出生日期<'1990-01-01';


3. 字符串比较规则:'10'<'2'

因为10开头的1,是小于2的

4. 如何查询出null值?


select 教师号,教师姓名
     from teacher
     where 教师姓名 is null; 

     select 教师号,教师姓名
     from teacher
     where 教师姓名 is not null;


练习三:算术运算符和比较运算符

算术运算符:+ - * /

比较运算符:=等于 <>不等于 >大于 >=大于等于 <小于 <=小于等于

5. 逻辑运算符


ES match_phrase模糊查询_sql 如何交换一个字符两侧字符的顺序_04


<1>查询条件:性别是'男'并且姓名是猴子或者是马云


select 姓名,性别
from student
where 性别='男'
and (姓名='猴子'or 姓名='马云');


<2>范围查询:between(包括两端的值)


select 学号,成绩
from score
where 成绩 between 60 and 90;


也可以写为


select 学号,成绩
from score
where 成绩>=60 and 成绩<=90;


<3> 或者:or


select 学号,成绩
from score
where 成绩<60
or 成绩>90;


in是or的简便写法


select 姓名,性别
from student
where 姓名 in('猴子','马云');


练习四:复杂的查询条件

逻辑运算符:not否定某一条件,and并且,between范围查找,or或者,in等同于or

五、字符串模糊查询

  1. 字符串模糊查询:like

2. %表示任意字符串

<1>查询姓“林”的学生名单


select*
from student
where 姓名 like '林%';


<2>查询姓名中最后一个字是“林”的学生名单


select*
from student
where 姓名 like '%林';


<3>查询姓名中带“林”字的学生名单


select*
from student
where 姓名 like '%林%';


3. _1个下划线表示任意1个字符

查询姓“王”的学生名单,并且姓名是3个字的


select*
from student
where 姓名 like '王__';


练习错题:


ES match_phrase模糊查询_sql between包括两端吗_05