一.检索语句
单个列:SELECT xxx(列名) FROM xxx(数据表)
多个列:SELECT x,y,z FROM xxx
所有列:SELECT FROM xxx (通配符 * 表示返回表中所有列)
检索不重复的列(列名具有唯一性): SELECT DISTINCT xxx FROM xxx
TOP关键字可以用来限制返回的行数: SELECT TOP x xxx FROM xxx
SQL语句中的注释:
1. 使用 --(两个连字符)在行内,--之后的文本就是注释。
2.从/*开始,到 */结束,中间的文本都是注释
二、排序检索数据
关键词:ORDER BY 语句
单个列:SELECT xxx FROM xxx ORDER BY xxx (按xxx的字母顺序进行排序)
多个列:
1.SELECT x,y,z FROM xxx ORDER BY x,y(先按x的顺序排,排完再按y的顺序排)
2.SELECT x,y,z FROM xxx ORDER BY 2,3(2,3分别为列的相对位置,代表了列名)
关于排序方向:默认为升序,如果要降序,需要多写关键字 DESC
SELECT x,y,z FROM xxx ORDER BY y DESC
三、过滤数据
关键字:WHERE 子句
在SELECT语句中,数据根据WHERE子句中指定的搜索条件进行过滤。
SELECT x,y FROM xxx WHERE x= 3.49
注: WHERE 之后的条件可以随便写 加减乘除什么的 甚至还有BETWEEN, IS NULL 等条件。
注意:WHERE 子句应该在ORDER BY 子句前使用,排序永远是放在最后数据确定的情况下排
关键字
1.WHERE子句+ AND/OR操作符进行多条件过滤
2.NOT/IN 操作符
SELECT x,y,z FROM xxx WHERE x(条件1) AND y(条件2)
SELECT x,y,z FROM xxx WHERE x(条件1) OR y (条件2)
SQL在处理操作符的过程中 先处理AND 再处理 OR ,所以如果需要优先OR 需要加括号
SELECT x,y FROM xxx WHERE ( c = ‘ab’OR c = ‘cd’)AND c>= 10
IN操作符来指定条件范围,条件范围内的每个条件都可以进行匹配:
SELECT x,y FROM xx WHERE C IN("条件1”,“条件2”)ORDER BY x
其实IN 操作符实现了和 OR一样的功能
NOT操作符:否定其后所跟的任何条件,一般用于和WHERE 一起过滤条件。
SELETE x FROM xxx WHERE NOT c = “dad”ORDER BY x
通配符专题:
先介绍LIKE 操作符:为在搜索子句中使用通配符,必须使用LIKE操作符。
表明搜索模式利用通配符匹配而不是简单的相等匹配进行比较。
注:通配符只能用于文本字段,并且通配符不可匹配NULL
1.百分号%通配符
(Z+通配符%+Y) 表明可以搜索Z开头的,Y结尾的所有字符,可以分开使用,也可以联合。
SELECT x FROM xxx WHERE X LIKE'F%Y'
SELECT x FROM xxx WHERE X LIKE 'F%'
SELECT x FROM xxx WHERE X LIKE'%Y'
2.下划线(_)通配符
和%的功能相似,但是有几个下划线就只能匹配几个字符。
WHERE c LIKE '_ inch teddy bear'(一个字符匹配)
WHERE c LIKE‘__inch teddy bear’(两个字符匹配)
3. 方括号([ ])通配符
用来指定一个字符集(但实际上也只能选其中一个字符,类似于选子集),必须匹配指定位置。
SELECT x FROM xxx WHERE c LIKE ‘[JM]%’ORDER BY x
四、创建计算字段
计算字段:并不存在数据表中的数据,是运行SELECT语句内创建的
1.拼接字段(用加号)
SELECT x +‘(’+ y + ‘)’FROM XXX ORDER BY x
如果是在MySQL中 语法格式是这样的 :
SELECT Concat(x,‘(’,y,')’) FROM XXX ORDER BY x