SQL 学习笔记
SELECT column1 , column 2 FROM table_name:查找某列
+ DISTINCT:找到的值不同
+ WHERE:条件筛选,文本需要加 ' ',AND、OR:多个条件、WHERE NOT + 条件或 WHERE 条件 NOT、IS NULL \ IS NOT NULL
+ ORDER BY:对结果进行升排列,末尾 + ASC \ DESC 升序 \ 降序排列
+ TOP:指定返回的记录数(MySQL中是 LIMIT加在最后)
INSERT INTO table_name (column 1, column 2) VALUES (value 1, value 2):插入一个新记录
UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition:修改表中现有记录
DELETE FROM table_name WHERE condition:删除某个存在的记录
聚合函数,在 GROUP BY 后才计算
MIN、MAX
AS:给返回的列一个名称(可以省略),FROM Customer A 或者 FROM Customer AS A
COUNT:返回符合条件的行数,DISTINCT:忽视重复的
SUM
AVG
LIKE:% 表示随机个,_ 表示一个,[abc]:abc 中任意一个,[!abc]:除了 abc
IN:在 WHERE 里指定多个值、NOT IN
BETWEEN AND
CONCAT:包含多个值的新一列
JOIN:根据两个表或多个表中的相关列进行判断,合并两个表或多个表中的行
INNER JOIN:选择两个表中匹配的记录、
LEFT JOIN:返回所有左边的( FROM 后面的 ),和匹配的右边的
RIGHT JOIN
UNION:合并两个过多过 SELECT 的结果集,默认不包含重复的, + ALL 包含重复
GROUP BY:将查询结果中具有相同值的行合并为一组,然后对每一组进行聚合计算(如求和、计数、平均值等)
HAVING:等同 WHERE( 区别:WHERE 在GROUP BY 之前过滤行,HAVING:在分组之后过滤组 ),位置在 GROUP BY 后,多了一个功能:可以和聚合函数一起使用
EXIST:测试子查询中是否存在某些记录,位置在 WHERE 后
operater + ANY、ALL + 子查询 :与子查询的结果集进行比较
SELECT INTO:复制表到一张新表中,+ IN:到新的数据库的新表中
SELECT * INTO newtable
FROM oldtable
INSERT INTO SELECT:向已有表增加记录
INSERT INTO table2
SELECT * FROM table1
WHERE condition;
CASE:类似 if - then - else
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN conditionN THEN resultN
ELSE result
END;
