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

  • 相关阅读:
    Codeforces Round #397 (Div. 1 + Div. 2 combined) D. Artsem and Saunders 构造
    Codeforces Round #393 (Div. 2) D. Travel Card DP
    Codeforces Round #395 (Div. 2) D. Timofey and rectangles 思维题
    Codeforces Round #396 (Div. 2) E. Mahmoud and a xor trip 二进制拆位+树型dp
    Codeforces Round #396 (Div. 2) D. Mahmoud and a Dictionary 并查集
    Codeforces Round #395 (Div. 2) C. Timofey and a tree 树
    Codeforces Round #394 (Div. 2) E. Dasha and Puzzle DFS
    upper_bound & lower_bound
    【转】立方体的体对角线穿过多少个正方体?
    Codeforces Round #353 (Div. 2) D. Tree Construction 树
  • 原文地址:https://www.cnblogs.com/zyfeng/p/10700582.html
Copyright © 2011-2022 走看看