• 数据库(查询专项)


    1.基本查询语句(SELECT)

    SELECT *|字段列表 FROM 表1,表2,表n WHERE 表达式 GROUP BY HAVING ORDERBY LIMIT ;

    SELECT 字段1,字段2,字段n FROM 表或视图 WHERE 查询条件;

    说明:select语句决定了要查询的值,from语句决定了数据来源.

    2.单表查询:指从一张表中查询所需数据.

    目录

    1.查询所有字段

    2.查询指定字段

    3.查询指定记录

    4.带IN关键字的查询

    5.带BETWEEN AND的查询范围

    6.带LIKE的字符匹配查询

    7.查询空值

    8.带AND的多条件查询

    9.带OR多条件查询

    10.查询结果不重复

    11.对查询结果进行排序

    12.分组查询

    13.使用LIMIT限制查询结果的数量

    1.查询所有字段(SELECT * FROM 表名;)注意:效率低

    2.查询指定字段(SELECT 字段名1,字段名2,字段名n FROM 表名;)

    3.查询指定记录(SELECT 字段名 FROM 表名 WHERE 查询条件;)

    3.1WHERE条件符 

    等于 =

    不等于 <>,!=

    小于<

    小于等于<=

    大于等于>=

    大于>

    位于两值之间BETWEEN AND

    4.带IN关键字的查询(SELECT 字段名 FROM 表名 WHERE IN|NOT IN ORDER BY ;)

    5.带BETWEEN AND的查询范围(SELECT 字段名 FROM 表名 WHERE 要查询的字段名 BETWEEN|NOT BETWEEN 值1 AND 值2;)

    6.带LIKE的字符匹配查询(LIKE "%"," _")通配符查询.模糊查找.

    1.%百分号通配符.匹配任意长度的字符,包括零字符.

    例:1以b开头b%     2以b结尾%b   3只要有b就匹配%b%  3 b开头y结尾b%y

    2._下划线通配符,一次只能匹配任意一个字符.

    例:_ _ _ _y 匹配y结尾的 前面有四位字母的单词.

    7.查询空值(SELECT 字段名 FROM 表名 WHERE IS NULL|IS NOT NULL;)

    8.带AND的多条件查询(WHERE 条件子句1 AND 条件子句2;)优先级高于OR

    9.带OR多条件查询(WHERE 条件子句1 OR 条件子句2;)IN更快,还能嵌套.完成和OR相同功能.   优先级低于 AND

    10.查询结果不重复(SELECT DISTINCT 字段名 FROM 表名;)

    11.对查询结果进行排序(SELECT 字段名1,字段名2 FROM 表名 ORDER BY 要排序的字段名1,要排序的字段名2;)  

    ORDER BY 字段名 DESC 降序排列

    ORDER BY 字段名 ASC  升序排列(默认)

    12.分组查询(GROUP BY 字段名 HAVING 条件表达式;)

    12.1 GROUP BY

    GROUP BY通常和数集函数一起使用.

    SELECT 数集函数 AS 字段别名 FROM 表名称 GROUP BY

    12.2 HAVING 过滤

    SELECT 字段名 FROM 表名 GROUP BY 字段名 HAVING 条件;

    HAVING 用于分组后

    WHERE用于分组前

    GROUP BY 字段名 WITH ROLLUP

     

    13.使用LIMIT限制查询结果的数量(SELECT *FROM 表名 LIMIT 开始行数参数(默认0),行数参数;)

    3.使用集合函数查询

    SELECT 聚合函数(字段名) AS 新生成的虚拟字段名(等于改名)

    AVG()返回平均值

    COUNT(*)返回表中总行数,COUNT(字段名)返回指定字段行数

    MAX()返回最大值

    MIN()返回最小值

    SUM()返回和

    4.内连接查询(INNER JOIN)

    SELECT 要连接的字段名 FROM 表名1 INNER JOIN 表名2 ON 字段1=字段2;

    SELECT 要连接的字段名 FROM 表名1 ,表名2 WHERE 字段1=字段2;

    5.外连接查询(LEFT JOIN|RIGHT JOIN )

    SELECT 要连接的字段名 FROM 表名1 LEFT|RIGHT JOIN 表名2 ON 字段1=字段2;

    6.复合条件查询()在连接查询过程中,添加过滤条件从而使结果更加精确

    SELECT 要连接的字段名 FROM 表名1 INNER JOIN 表名2 ON 字段1=字段2 条件;

    7.子查询

    一个查询嵌套在另一个查询内部mysql4.1开始引入

    7.1.ANY,SOME 关键字表示满足任何一个条件,就可以返回结果作为外层查询条件

    SELECT 字段名 FROM 表名 WHERE 条件>ANY|SOME(条件);

    7.2.ALL 关键字要求满足所有内层查询条件,才会返回值

    SELECT 字段名 FROM 表名 WHERE 条件>ALL(条件);

    7.3.EXISTS|NOT EXISTS关键字 查看是否返回行,如果是返回,如果不是|反之相反

    7.4.IN关键字,内层查询语句仅仅返回一个数据列,这个数据列里的值将提供给外层查询语句比较操作.

    7.5比较运算符查询.

    7.6合并查询结果(UNION|UNION ALL)

    7.7为表取别名 (表名1 AS 表名1的别名)

    7.8位列取别名(列名1 AS 列名1别名)

    8. 使用正则表达式查询(REGEXP)

    SELECT * FROM 表名 WHERE 表名 REGEXP "正则表达式"

  • 相关阅读:
    【总结】机器学习里需要知道的12堂课
    【转载】The Mathematics Of Beauty
    Facebook的朋友推荐系统
    【转载】Netflix: System Architectures for Personalization and Recommendation
    aDev第13期#个性化推荐技术#总结(Part II:江申@百度)
    mahout 0.7关于随机选择数据的一个bug
    Dirichlet Process 和 Dirichlet Process Mixture模型
    aDev第13期#个性化推荐技术#总结(Part I:袁全@一淘)
    httpHandler实现.Net无后缀名Web访问
    还在使用Application_Start做定时器的,你们伤不起!
  • 原文地址:https://www.cnblogs.com/cangshuchirou/p/8717620.html
Copyright © 2020-2023  润新知