sql查询语句的一些注意事项
2017-03-20 09:58
309 查看
1 sql语句是写法顺序及执行顺序
语法顺序:SELECT(DISTINCT) --> FROM -->WHERE -->GROUP BY-->HAVING -->UNION-->ORDER BY执行顺序:FROM --> WHERE -->GROUP BY -->HAVING -->SELECT(DISTINCT) -->UNION -->ORDER BY
注意事项:
1) 数据库在执行
SQL 语句的第一步是将数据从硬盘加载到数据缓冲区中,以便对这些数据进行操作。
2) 不能在
WHERE 中使用在 SELECT 中设定别名的字段作为判断条件
2 引用表
1 INNER JOIN 和 OUTER JOIN
INNER JOIN (或者JOIN) :SELECT * FROM PEOPLE JOIN ID ON PEOPLE.ID = ID.ID一个人对应一个身份证号
OUTER JOIN(或者LEFT OUTER JOIN,RIGHT OUTER JOIN或者FULL OUTER JOIN)
SELECT * FROM PEOPLE LEFT OUTER JOIN ID ON PEOPLE.ID = ID.ID每个人对应每个身份证号;没有身份证号的人也会查询出来
2 IN 和 EXISTS
IN:SELECT * FROM PEOPLE WHERE PEOPLE.ID IN (SELECT ID.ID FROM ID )EXISTS:
SELECT * FROM PEOPLE WHERE EXISTS(SELECT 1 FROM ID WHERE ID.ID = PEOPLE.ID)
1)IN 比 EXISTS 可读性更好
2)EXISTS 比 IN表达性更好(适合复杂的查询语句)
3 NOT IN 和 NOT EXISTS
与IN 和 EXISTS 相反3 派生表
派生表就是括号中的子查询:SELECT * FROM (SELECT * FROM PEOPLE JOIN ID ON PEOPLE.ID = ID.ID) a或者也可以给经常用的派生表创建一个视图:
CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
4 GROUP BY 是对表的引用进行的操作
当应用 GROUP BY 的时候, SELECT 后没有使用聚合函数的列,都要出现在 GROUP BY 后面:SELECT PEOPLE.SEX ,COUNT(SEX) FROM PEOPLE GROUP BY PEOPLE.SEX需要注意的是:其他字段能够使用聚合函数; MySQL
并不坚持这个标准
5 SQL 语句中的 SELECT 实质上是对关系的映射
SELECT 语句就像一个“投影仪”,可以将其理解成一个将源表中的数据按照一定的逻辑转换成目标表数据的函数。通过
SELECT语句,能对每一个字段进行操作,通过复杂的表达式生成所需要的数据。
SELECT 语句有很多特殊的规则,至少应该熟悉以下几条:
仅能够使用那些能通过表引用而得来的字段;
如果有 GROUP BY 语句,只能够使用 GROUP BY 语句后面的字段或者聚合函数;
当语句中没有 GROUP BY 的时候,可以使用开窗函数代替聚合函数;
当语句中没有 GROUP BY 的时候,不能同时使用聚合函数和其它函数;
有一些方法可以将普通函数封装在聚合函数中;
6 SQL语句中几个关键词
DISTINCT 在映射之后对数据进行去重UNION 将两个子查询拼接起来并去重
UNION ALL 将两个子查询拼接起来但不去重
EXCEPT 将第二个字查询中的结果从第一个子查询中去掉
INTERSECT 保留两个子查询中都有的结果并去重
相关文章推荐
- 在Mybatis中关于xml中sql语句的一些注意事项,再补充
- 编写sql语句一些关键词的注意事项
- 关于MySql中数据库、表的操作以及增删改查等一些SQL语句注意事项
- 关于SQL语句的一些注意事项
- mysql数据库 SQL查询语句优化和一些注意
- 项目发布到Linux注意事项。Linux系统SQL语句查询的表字段名不能大写。
- MYSQL查询SQL的注意事项和一些技巧总结
- Hibernate使用sql语句查询,返回实体类型的方法及注意事项
- sql语句 like %?%模糊查询注意事项
- sql语句注意事项
- SQL 一些有用的查询语句积累
- sql 查询时间的一些常用语句
- delphi中多条件SQL语句的增加注意事项
- sql语句注意的事项
- Informix中的SQL查询注意事项
- Hibernate原生SQL查询多表关联,SQL语句要注意的问题
- SQL开发中容易忽视的一些小地方(一)【null的用法及注意事项】
- 一些精妙的Sql查询语句汇总【1】
- 个人收集的一些常用的sql查询语句与函数
- 使用sql语句备份和恢复SQLserver数据库,以及需要注意的事项