一. 最基本的查询语句
包含了两个子句,分别是select子句和from子句。
- 若想查询出全部列,可以用*代替。
2. 为列设定别名用as。当别名是中文时需要用英文字符下的单引号’’将其括起来。它可以使select语句的执行结果更加容易理解和操作。
3. 如何删除重复的数据呢?删除重复数据用distinct。
接着看下distinct用在多列之前是什么情况:它会将多列的结果进行组合,也就是说,多列数据才相同时才算做重复数据。如图片中将distinct放在学号和姓名两列之前,学号0001和姓名猴子一起看作一条数据,学号0002和姓名猴子一起看作一条数据,这两条数据是不一样的,故没有将其删除。
distinct只能放在列名之前,不能放在其他位置。
4. SQL基本书写规则。
关键字:事先定义好的有特殊含义的单词。表名和列名也不区分大小写,但是插入表中的数据区分大小写。
5. 学习SQL时不能光看,而是要亲自多操作。
二.指定查询条件
- 查询语句通过where子句来指定查找条件。
2. 需要注意一点,SQL中子句的运行顺序与它的书写顺序是不一样的。下图展示了上图所示语句的运行顺序,可以对照理解,在此不做赘述。
三. 注释和SQL语句注意事项
- 注释能够帮助阅读者更好的理解SQL语句,特别是在以后书写复杂语句的时候。
SQL语句有两种注释的方法,分别是单行注释(注意:在两个-后要有英文下的空格)和多行注释。
2. SQL语句注意事项
SQL语句通过换行或半角空格来分割单词。
四.运算符
运算符包括三种:算数运算符、比较运算符和逻辑运算符。
- 算数运算符
如下图要算出成绩里的百分比成绩:
2. 比较运算符
通过比较运算符可以得到筛选数据的条件表达式。比较运算符可以和所有类型的值进行比较。
如下图是分别要查找出不及格的同学有哪些及出生日期小于1990年1月1日的人有哪些:
字符串类型是按字典顺序进行排序,所以字符串比较也是按照字典顺序进行。如’10’<’2’,这里虽然是数字,但是重组类型为字符串类型,因为’10’是以1开头的字符串,故比’2’小。
如何查询出null值?图片中给出了对应案例。
3. 逻辑运算符
可以将多个查询条件组合起来。上图已经给出几个基本的逻辑运算符,多联系就好~
五. 字符串模糊查询
前面我们在查找字符串的时候用“=”表示两边的字符串要完全一样才相等,但有时我们需要模糊查询找出数据。比如我们用搜索引擎时在输入框输入想要查找内容的关键词,这就是模糊查询。SQL语句使用like进行模糊查询,% 表示查找任意字符串。下图为三种查询方式的例子:
六.sqlzoo 题目练习