SELECT:DISTINCT(去除重复字段)
FROM
WHERE
ORDER BY:ASC(升序排序,默认方式) DESC(降序)
练习:
编写一个SQL语句,在NAME1表中返回姓名,年龄(大到小),且要求性别是女生。
SELECT NAME, AGE
FROM NAME1
WHERE SEX='女生'
ORDER BY AGE DESC;
操作符
比较操作符:= , <> , < , >
逻辑操作符:is null,between,in ,like,exists,unique
求反操作符:<>,not between,not in,not like,is not null,not exsits
算数操作符:+,-,*,/
练习1:
编写一个SELECT 语句,从表PRODUCT返回以下信息:产品描述,产品价格,每个产品5%的销售税。产品列表价格从高到低排列。
SELECT MIAOSHU,COST,COST*0.05
FROM PRODUCT
ORDER BY COST DESC;
练习2:
编写一个查询,返回所有名称以P开头产品的记录。在编写一个查询返回所有名称不以P开头的产品记录。
SELECT *
FROM PRODUCT
WHERE MIAOSHU LIKE('p%');
select *
from product
where miaoshu not like ('P%');
汇总查询
COUNT (*)|DISTINCT|ALL:统计不包含NULL值得记录或字段值。
(*):统计表里全部记录包括重复的。
DISTINCT (count name):统计表里不重复的记录。
ALL:默认方式与DISTINCT相反。
SUM:返回一组记录中某个字段值的总和。(必须是数值型字符)
AVG:返回指定记录的平均值。(必须是数值型字符)
MAX:返回记录中某个字段的最大值。
MIN:返回记录中某个字段的最小值。
数据排序和分组
数据分组:按照逻辑次序把具有重复值的字段进行合并。
GROUP BY分组函数位置:
SELECT
FROM
WHERE
GROUP BY
ORDER BY
HAVING自居字句在查询中的位置:是GROUP BY 字句的扩充,对于用户分组添加条件。
SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY
字符函数
字符函数主要用于对字段里的字符串或值进行比较,链接,搜索,提取片段等。
- 串接函数:+
- TRANSLATE函数:搜索字符串里的字符并查找 特定字符,标记找到的位置,然后用替代字符串里对应的字符替代它。
- REPLACE函数:把某个字符或者字符串替代为制定的字符或者多个字符。
- UPPER函数:把字符串里的小写字母转成大写字母。
- LOWER函数:把字符串里的大写字母转成小写字母。
- SUBSTR函数:获取字符串子串的函数。
- INSTR函数:在字符串中寻找指定字符集,并返回其所在的位置。
- LTRIM函数:从左边剪除字符串里的字符。
- RTRIM函数:从右边剪除字符串里的字符。
- LENGTH函数:得到字符串,日期,数字或者表达式的长度,单位是字节。
- IFNULL函数:在一个表达式是NULL时从另一个表达式获得值。
- COALESCE函数:指定替代NULL值,可以接受一个数据集。
- SCII函数:返回字符串最左边字符的ASCII码。
算数函数是对数据库里的值根据运算符进行运算。
- ABS(绝对值);
- ROUND(舍人);
- SQRT(平方根);
- SIGN(符号);
- POWER(幂);
- CELL,FLOOR(上限,下线);
- EXP(指数);
- SIN,COS,TAN(正弦,余弦,且);
转换函数把数据类型从一种转换成另一种。
- 字符到数字:
- 数字到字符串:SELECT A=a,NEW_A=STR(a) FROM WHERE a IS NOT NULL;
- 字符到日期;
- 日期到字符;
日期和时间
日期和时间(DATETIME)存储的标准有三种:
- DATE:直接存储日期。YYYY-MM-DD
- TIME:直接存储时间。HH:MM:SS.nn
- TIMESTAMP:直接存储日期和时间。YYYY-MM-DD HH:MM:SS.nn
日期函数
当前日期:GETDATE()
SELECT GETDATE()
时间和日期相加:
SELECT DATE DATEADD(MONTH,1,DATE) FROM ; 月份加一
DATEPART:返回日期某个元素的整数值。
DATENAME:返回日期某个元素的文本值。
DATEDIFF:返回两个日期之间由指定元素表示的间隔,如天数,分钟数,秒数等。
日期转换为字符串:SELECTT DATE=DATENAME(MONTH,DATE) FROM ;