zoukankan      html  css  js  c++  java
  • mysql查

      select   [all | distinct]   字段或表达式列表 [from子句]    [where子句]    [group by子句]    [having子句]    [order by子句]    [limit子句]

    解释说明:

      查的字段可以自定义一个名字,比如select sno as s,这个s就代表了查到的sno字段

      [all | distinct]

      用于设定所select出来的数据是否允许出现重复行(完全相同的数据行)

      all:允许出现——默认不写就是All(允许的)。

      distinct:不允许出现——就是所谓的“消除重复行”。

      from子句

      就是指定数据的来源,其实就是“表”,可以是一个表名,也可以是多个表——多表查询了

       

      where子句

      一个概念:where子句,相当于phpjs中的if条件语句:其最终结果就是布尔值(true/false),

      也可以说是限制在具体那个值

      phpif($n  % 4 == 0 && $n % 100 != 0  || $n % 400 == 0 ){}

      则:

      where  true,  where  1;    where 1=1;  都表示true

      where  false,  where  0;    where 1<>1;  都表示false

      比较运算符: >   >=   <    <=   =(等于)   <>(不等于)   

      逻辑运算符: and(与)  or(或)   not(非)

      in语法:XX in (1,2,3,4,5)        XX not in ()  // in 和 = 一样

      Xx = 1 or  xx = 2 or xx =3...

      XX  in (1,值2.......)

      含义:XX等于其中所列出的任何一个值都算成立,相当于:

      XX = 1  or XX = 2  or  XX = 2

      注意:其中的值1通常是“直接值”,但也可以是后面要学习的“查询结果值”

      like语法(模糊查找)

      语法形式: XX like  ‘要查找字符’;

      说明:

      1like语法(模糊查找)用于对字符类型的字段进行字符匹配查找

      2,要查找的字符中,有2个特殊含义的字符:

        2.1:  %   其含义是:代表任意个数的任意字符

        2.2_ 代表一个字符

      group  by  分组子句

      group  by  字段1  排序方式1,字段2 排序方式2.....

      count(*):  统计一组中的数量,通常用“*”做参数

      max(字段名):获取该字段中在该组中的最大值。

      min(字段名):获取该字段中在该组中的最小值。

      sum(字段名):获取该字段中在该组中的总和。

      avg(字段名):获取该字段中在该组中的平均值。

      group_concat(字段名):获取该分组内的这个字段所有信息,每条逗号分隔

      having子句

      和where原理一样,但是是专门给group by服务的条件,只能限制分组之后的数据

      Order by子句

      order  by  排序字段1  [排序方式],  排序字段2  [排序方式].....

      正序: ASC(默认值),可以省略

      倒序: DESC

      如果指定多个字段排序(虽然不常见),则其含义是,在前一个字段排序中相同的那些数据里,再按后一字段的大小进行指定的排序。//如果第一个字段排序有重复的,再按第二个字段排序

      limit子句

      limit   [起始行号start], 要取出的行数num

      表示将前面取得的数据并前面排好之后(如果有),对之指定取得“局部连续的若干条”数据。

      起始行号start:第一行的行号为0, 可以省略,则为默认行号(0)。

      要取得的行数:如果结果集中从指定的行号开始到最后没有这么多行,则就只取到最后。

      此子句非常有用——主要用于网页上最常见的一个需求(现象):分页。

      分页原理:

      分页的前提:人为指定每页显示的条数,$pageSize = 3;

      显示(取得)第1页数据:select * from 表名 limit  0,  $pageSize;

      显示(取得)第2页数据:select * from 表名 limit  3,  $pageSize;

      显示(取得)第3页数据:select * from 表名 limit  6,  $pageSize;

      ..................................................

      $n:当前页码 $pageSize:每页显示多少条

      显示(取得)第$n页数据:select * from 表名 limit  ($n-1)*$pageSize,  $pageSize;

      $n 代表页码 123

      $pageSize 代表每一页显示的条数

      连接查询

      from 1  [连接方式]  join 2  [on 连接条件]

      [外]连接:以左边那张表为主:from  1  left  [outer]  join   2   on  连接条件

      [外]连接:以左边那张表为主:from  1  right  [outer]  join   2   on  连接条件

      子查询

      selelct   字段或表达式或(子查询1)   [as 别名]   from   表名或(子查询2)   where   字段或表达式或(子查询3) 的条件判断

      比如:select * from student where sno=(select sno from student sname='张三')

      注意:

      每个位置所放置的子查询结果,应该符合该位置的数据需求。

      通常:

      子查询1应该是一个“数据结果”。

      子查询2可以是“任意结果”,此位置的查询结果,通常作为数据源,可以给一个别名

      子查询3可以是一个数据或一列数据甚至是一行数据

      联合查询

      select 语句1

      union  [ALL | DISTINCT]

      select 语句2

  • 相关阅读:
    LeetCode 1110. Delete Nodes And Return Forest
    LeetCode 473. Matchsticks to Square
    LeetCode 886. Possible Bipartition
    LeetCode 737. Sentence Similarity II
    LeetCode 734. Sentence Similarity
    LeetCode 491. Increasing Subsequences
    LeetCode 1020. Number of Enclaves
    LeetCode 531. Lonely Pixel I
    LeetCode 1091. Shortest Path in Binary Matrix
    LeetCode 590. N-ary Tree Postorder Traversal
  • 原文地址:https://www.cnblogs.com/zyfeng/p/10700582.html
Copyright © 2011-2022 走看看