• MySQL的查询语句


    一.基本查询语句

    1.1从单个表中查询列

    语法:select 查询的列1,查询的列2  from 表名  where 条件 group by 分组条件  order by 排序条件  having  查询满足的第二条件 limit 输出的行数

    例子:

    select tid from text1  group by(tday) order by tid asc ;

    1.2从多个表中查询列

     使用“.”将表中的列和表分割开来,语法如下:

    select 表1.列....,表2.列.....  from  表1,表2;

    select text1.tid ,text2.tid from text1 ,text2 ;

    二.单表查询

    2.1使用符号   *   来查询所有的字段

    2.2使用IN关键字:select  列名   from 表名 (not) in (值1,值2);表示只要符合值1或者值2即可。

    2.3使用 between   A  and  B : select  列名 from 表名 where 列名 (not) between A  and  B;

    2.4模糊查询 使用like:   %匹配符   _占位符 : select  列名 from 表名 where 列名 like "张%_";

    2.5:is null 检查字段是否为空

    2.6使用 and / or来达到多条件查询目的

    2.7使用关键字distinct来去除重复操作  :select distinct 列名 from 表......

    2.9使用order by来排序: select  列名 from 表名 order by asc升序/desc降序

    2.10使用group by来分组,group_concat(列名):select group_concat(列名) from 表名 group by 列名;

    2.11使用limit n 限制查询结果的数量为n

    三.聚合函数

    聚合函数就是将一组值计算后只计算出一个值。

    3.1.计数函数:count()

    3.2.求和函数:sum()

    3.3.平均函数:avg()

    3.4.最大、最小函数max()、min()

    四.链接查询

     4.1内链接查询

    内链接要求两个表拥有相同的字段,这样才能进行查询。结果集也是只包括符合两个字段相同的结果。

    例子如下:

    表text3

    表text1

    可以看出两个表有共同的项:tid。

    内链接查询语句:

    select tnum1,tname from text1,text3 where text1.tid=text3.tid;

     结果:

     

    4.2外查询

     外查询的结果集不仅包括符合链接条件的行数据,还包括了左表,右表中的数据。

     语法:select 字段名 from 表名1  left | right jioin 表名2  on  表名1.列名1=表名.列名2;

     左外链接:

     left  on   首先将两张表合并,不仅返回符合连接条件的数据还返回左表中的不符合条件的数据,并在右表相应的字段添加null

    例子:

    select tnum1,tname from text1  left join text3 on text1.tid=text3.tid; 

    右外连接只需要将left改为right即可。

    五.子查询

    子查询就是在一个查询语句里在嵌套一个查询。子查询从内部执行到外部,需要括号进行分开。

    5.1使用带in的子查询,当子查询返回的是一个组合时,那么就必须使用in来表示。

    select tid from text1 where tid in (select tid from text3);

    5.2使用关键字exists来返回是否查询到了一个值,如果有则为true反之为false。如果返回的是true则将执行前面的查询部分。

    select tid from text1 where exists(select tnum1 from text1 where tid=2);

    5.3使用any和all的查询,any表示只要符合any()查询语句中的任何一个值就会执行外层语句,而all表示只有符合子查询所有的结果才能执行外部语句。

    select tid from text1 where tnum1>any(select tnum1 from text2 where tid >3);
    select tid from text1 where tnum1>all(select tnum1 from text2 where tid >3);

    6.合并查询结果

    使用union和union all来合并查询结果。

    语法:select语句  union | all select语句

    union合并后去除重复,二union all 是不去除重复

     

  • 相关阅读:
    随笔
    打破生活的套牢
    健忘是种美德
    【转贴】怎样冒充古典高手!
    php数组中删除元素
    JS 总结
    ubuntu apache rewrite
    JS 预览超级大图
    UBUNTU 安装SVN
    Yahoo14条前端优化规则
  • 原文地址:https://www.cnblogs.com/SAM-CJM/p/9652370.html
Copyright © 2020-2023  润新知