前面学会如何创建库、对表的增添改查,那么下一步,我们可以在海量的数据中开始简单的查询。此文章包括五个内容:
- 基本的查询语句;
- 指定查询条件
- 注释和sql语句注意事项
- 运算符
- 字符串模糊查询
那么我们就一个个攻破,来开始简单查询篇章。
书写规则:
SQL语句以英文分号(;)结尾;
输入列名时不能加单引号,列名间也不能有空格;
SQL语句不区分关键字的大小写(如SELECT=select,INSERT=insert等);
SQL语句输入符号时只能在英文状态下。
一、基本的查询语句
A.查找所需信息
基本查询离不开select语句(选择需要查询的字段)和from语句(字段来源的表)
select <列名1>,<列名2>,...
from <表名>;
根据入门所建的表和数据,我们对student表进行查询姓名和性别信息,查询语句和结果如下:
B.查找全部信息
利用*来查询全部列
select *
from <表名>;
查询student下所有列的信息,查询语句和结果如下:
C.为列设定别名
当列名信息不好理解或者为英文,我们需要更改容易理解或中文,就需要对查询列名做重命名使用as
select 姓名 as ‘同学姓名’
from <表名>;
查询结果如下:
D.删除重复数据
当数据中有多个重复值,我们需要删除重复数据使用distict。假设student内有多个小明数据,我们想删除重复数据:
查询结果如下,会返回一个小明信息:
二、指定查询条件
很多时候我们查找一些特定条件下的数据,此时我们需要新的语句where,例如我们想找到学生小红的学号是什么,此时用where来判断,我们选择列的值是否与条件where相等,若相等则返回相应数据:
select <列名1>,<列名2>,...
from <表名>
where <列名1>=‘...’;
这次我们运行了3条语句,要注意在SQL中,实际运行顺序和你的输入顺序是不一样,像这三语句就是按如下顺序进行的:
- from student -- 从那张表中查找数据;
- where 姓名='小红'; -- 用where查询出符合条件的行(记录);
- select 姓名,学号 -- 从查询出的行中筛选出select语句指出的列,一般是最后运行,返回查询结果
三、注释和sql语句注意事项
要养成添加注释的习惯,方便自己回顾,也方便其他需要看你的语句的同事。操作很简单,注释分为单行注释和多行注释:
A.单行注释:
在语句前面输入“--”+空格”,后面就可以添加注释内容了,注意:一定不要忘了在小横线后面加空格哦!
B.多行注释:
注释用“/*”开始,用“*/”结尾。
SQL语句的注意事项:用英文符号,子句之间不要空行,要和前面的书写规则一起记住了哦!
四、运算符
使用运算符来辅助我们为sql赋予复杂的查询条件,运算符分为三种类型:算术运算符、比较运算符、逻辑运算符。下面我们来一一攻破:
A.算术运算符
有括号先运算括号内运算
查询score表的成绩,使用除法运算符化为百分比形式
B.比较运算符
可以和where一起使用,设计取数据的规则
例如查询score数据中,成绩大于60的成绩都有哪些
其中,查询空值和非空值可以使用is null 或者 is not null
C.逻辑运算符
逻辑运算可以将多个查询条件组合起来,方便我们查找更精准的信息
not运算符:用于否定查询条件
and运算符:用于两个条件同时满足,取交集情况
between运算符:范围查询,尤其对于数字和日期的数据更方便使用(包括两端边界值)
or运算符:只有符合条件的数据即返回数据
in运算符:是or的简便写法,在范围内的数据返回;not in 不在范围内的数据返回。
五、字符串模糊查询
我们使用like语句运用通配符进行模糊查询:
- % :表示任意长度的字符串,长度可以为0;例如:like ‘a%b’,以a开头,b结尾任意长度的内容;
- _:一个下划线就表示一个字符;例如:like ‘a_b’,以a开头,b结尾任意长度为3个字符的内容。
下面,让我们一起去SQLZOO完成一些练习题吧巩固知识点! 网址:SQLZOO
A. basics quiz下的练习
B. from world quiz下的练习