说明:MySQL的offset第一行是0

   位置指的是在SELECT语句中第几个出现的字段,如:1,则代表用第一个出现的字段来分组。

SELECT语句:

SELECT  select_expr1 【,select_expr2......】

  FROM  表名

   【WHERE  where_condition】

   【GROUP  BY  {列名|位置}  【ASC | DESC】,.....】     //对查询结果进行分组,如:SELECT sex,id FROM tb1 GROUP BY sex;

【HAVING  where_condition】    //分组条件,如:SELECT sex FROM tb1 GROUP BY sex HAVING count(id) >2;对tb1表中id列的值大于2的sex列进行分组

【ORDER  BY  {列名|expr|位置}】 【ASC | DESC】,.....】   //对查询结果进行排序,如:SELECT * FROM tb1 ORDER BY id DESC,sex ASC;把行先按id降序排列,不满足条件的再按sex升序排列。

   【LIMIT  {【offset,】 行数 | 行数  OFFSET  offset}】   //限制查询结果的返回数量,如:SELECT * FROM tb1 LIMIT 2;返回前两行

                                            SELECT * FROM tb1 LIMIT 2,2;从第二行开始,返回2行

select_expr的顺序将影响结果的排列顺序,如:SELECT id,username FROM tb1;和SELECT username,id FROM tb1;结果是不一样的。

select_expr可以使用【AS】 alias_name为其赋予别名,字段的别名将影响结果集,别名可用于GROUP BY,ORDRE BY或HAVING,如:SELECT id AS userid,username AS uname FROM tb1;

*表示所有的列,tbl_name.*可以表示数据表下的所有列,如:tb1.id表示数据表tb1下的id列。

where_condition中可以使用MySQL支持的函数或运算符。

通过连接来显示多张表的内容:

  连接的语法结构:

  表1  {【INNER | CROSS】 JOIN |  {LEFT | RIGHT} 【OUTER】JOIN}  表2  ON  conditional_expr(连接条件)

    连接类型:

    INNER JOIN等同于JOIN等同于CROSS JOIN    称为内连接

    LEFT 【OUTER】JOIN  称为左外连接

    RIGHT 【OUTER】JOIN  称为右外连接

SELECT ...... INNER JOIN ......【INNER JOIN ......】  显示左表及右表符合连接条件的记录

SELECT ...... LEFT JOIN ......【LEFT JOIN ......】查询的结果集包括SQL语句中左表的所有行,右表中匹配的行。如果左表的某行在右表中没有匹配行,则用空值表示

SELECT ...... RIGHT JOIN ......【RIGHT JOIN ......】查询的结果集包括SQL语句中右表的所有行,左表中匹配的行。如果右表的某行在左表中没有匹配的行,则用空值表示

完全外连接(full join 或 full outer join),查询的结果集包括SQL语句中左表和右表的所有行。如果某行在另一个表中没有匹配行时,则用空值表示。

通过CREATE...SELECT来创建数据表并且同时写入SELECT查询到的记录:

>CREATE TABLE tdb_goods_brands (

->brand_id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,

->brand_name VARCHAR(40) NOT NULL

->) SELECT brand_name FROM tdb_goods GROUP BY brand_name;

自身连接:

-- 查找所有分类及其父类
SELECT s.type_id,s.type_name,p.type_name FROM tdb_goods_types AS s LEFT JOIN tdb_goods_types AS  p ON s.parent_id = p.type_id;
-- 查找所有分类及其子类
SELECT p.type_id,p.type_name,s.type_name FROM tdb_goods_types AS p LEFT JOIN tdb_goods_types AS  s ON s.parent_id = p.type_id;

MySQL SELECT语句的更多相关文章

  1. mysql SELECT语句 语法

    mysql SELECT语句 语法,苏州大理石方箱 作用:用于从表中选取数据.结果被存储在一个结果表中(称为结果集). 语法:SELECT 列名称 FROM 表名称 以及 SELECT * FROM ...

  2. MySQL SELECT 语句

    SELECT语句: products表例如以下: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1eWluZ18xMDAx/font/5a6L5L2T ...

  3. 关于Mysql select语句中拼接字符串的记录

    在mysql的SELECT语句中拼接两列(或多列)的字符串显示: mysql> select concat(dname,loc) from dept; 以上语句便把dept表的dname,loc ...

  4. mysql select语句解析

    select语句用于从一个或多个数据表选出特定行.特定列的交集 最简单的select语句的语法格式如下: select column1,column2 ........      (列) from 数 ...

  5. mysql select语句执行顺序

        SELECT语句定义       一个完成的SELECT语句包含可选的几个子句. SELECT语句的定义如下: <SELECT clause> [<FROM clause&g ...

  6. mysql select语句查询流程是怎么样的

    select查询流程是怎么样的 mysql select查询的数据是查询内存里面,如果没有查询的数据没有在内存,就需要mysql的innodb引擎读取磁盘,将数据加载的内存后在读取.这就体现了,mys ...

  7. MySQL SELECT语句中只能输出1000行数据的原因

    同事反映,客户的一套MySQL生产库,执行SELECT.. INTO OUTFILE语句只能导出1000行 最初以为是系统参数被重新设置了,建议他更改系统参数 mysql> set global ...

  8. MySQL Select语句的执行顺序

    源文章:How is a query executed in MySQL? 当执行SQL的Select查询语句时,SQL指令的执行顺序如下: FROM 子句 WHERE 子句 GROUP BY 子句 ...

  9. MySQL select语句直接导出数据

    select * into outfile '文件存放路径' from 表名; (先记下来,还未测试)

随机推荐

  1. UINavigationController详解二(转)页面切换和SegmentedController

    原文出自:http://blog.csdn.net/totogo2010/article/details/7682433,非常感谢. 1.RootView 跳到SecondView 首先我们需要新一个 ...

  2. 鸟哥的linux私房菜学习记录之开机流程、模块管理与Loader

  3. scala模拟一个timer

    直接上代码: package com.test.scalaw.test.demo import java.util.Date /** * 模拟一个定时timer */ object Timer { d ...

  4. TI CC254x BLE教程 4

    TI的CC254x芯片 1. SoC 2. RF收发器+8051MCU 128/256KB Code空间. 3. Master或者Slave 4. 可编程flash 5. 8KB SRAM 6. 全软 ...

  5. 2016年最好的15个Web设计和开发工具

    1.ai2html ai2html是适用于Adobe Illustrator的开源脚本,可以转换Illustrator文件为html和css. 官方网站:http://ai2html.org/ 2.A ...

  6. 【原创】JDK动态代理,此次之后,永生难忘。

    动态代理,这个词在Java的世界里面经常被提起,尤其是对于部分(这里强调“部分”二字,因为有做了一两年就成大神的,实力强的令人发指,这类人无疑是非常懂动态代理这点小伎俩的)做了一两年新人来说,总是摸不 ...

  7. OpenCV学习 物体检测 人脸识别 填充颜色

    介绍 OpenCV是开源计算机视觉和机器学习库.包含成千上万优化过的算法.项目地址:http://opencv.org/about.html.官方文档:http://docs.opencv.org/m ...

  8. std的find和reverse_iterator联合使用

    上代码: // test2013.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <stdlib.h> #in ...

  9. 对已有的2个一维数组,譬如说A[],B[],经过最少循环找出2个数组重复的元素。

    import java.util.Arrays; /** * Created by ccc on 16-4-27. */ public class Test { public static void ...

  10. python :列表 字典 集合 类 ----局部变量可以改全局变量

    #列表 字典 集合 类 ----局部变量可以改全局变量,除了整数和字符串 names=["alex","jack","luck"] def ...