MySQL SELECT语句
说明: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语句的更多相关文章
- mysql SELECT语句 语法
mysql SELECT语句 语法,苏州大理石方箱 作用:用于从表中选取数据.结果被存储在一个结果表中(称为结果集). 语法:SELECT 列名称 FROM 表名称 以及 SELECT * FROM ...
- MySQL SELECT 语句
SELECT语句: products表例如以下: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1eWluZ18xMDAx/font/5a6L5L2T ...
- 关于Mysql select语句中拼接字符串的记录
在mysql的SELECT语句中拼接两列(或多列)的字符串显示: mysql> select concat(dname,loc) from dept; 以上语句便把dept表的dname,loc ...
- mysql select语句解析
select语句用于从一个或多个数据表选出特定行.特定列的交集 最简单的select语句的语法格式如下: select column1,column2 ........ (列) from 数 ...
- mysql select语句执行顺序
SELECT语句定义 一个完成的SELECT语句包含可选的几个子句. SELECT语句的定义如下: <SELECT clause> [<FROM clause&g ...
- mysql select语句查询流程是怎么样的
select查询流程是怎么样的 mysql select查询的数据是查询内存里面,如果没有查询的数据没有在内存,就需要mysql的innodb引擎读取磁盘,将数据加载的内存后在读取.这就体现了,mys ...
- MySQL SELECT语句中只能输出1000行数据的原因
同事反映,客户的一套MySQL生产库,执行SELECT.. INTO OUTFILE语句只能导出1000行 最初以为是系统参数被重新设置了,建议他更改系统参数 mysql> set global ...
- MySQL Select语句的执行顺序
源文章:How is a query executed in MySQL? 当执行SQL的Select查询语句时,SQL指令的执行顺序如下: FROM 子句 WHERE 子句 GROUP BY 子句 ...
- MySQL select语句直接导出数据
select * into outfile '文件存放路径' from 表名; (先记下来,还未测试)
随机推荐
- Linux修改系统以及pip更新源
Linux修改系统以及pip更新源 时间:2015-08-01来源:csdn 作者:henulwj 修改系统更新源 你是否跟我一样在刚看时接触Linux时被系统更新源问题搞得晕头转向,不同的Linux ...
- 危险的 SQL
看下这个 SQL , 有什么问题 ? <update id="update" parameterType="CreativeGroupDO"> up ...
- 关于mac book 的启动选项
苹果电脑是用EFI的,没有BIOS,唯一可以设置的是开机的启动选项.可以在基于 Intel 的 Mac 电脑上使用下列启动键组合启动时按住 C 键——从可启动 CD 或 DVD 光盘启动,如随机附带的 ...
- EL表达式,JSTL:jsp standard Tag Library
1.EL表达式的作用: 1.1访问Bean的属性. 方式一:${对象名 . 属性名} eg:${user.name} 方式二:${对象名["属性名"]} 1.2输出简单的运 ...
- STM32的晶振跟HSE外部时钟设置.
void RCC_Configuration(void){ /* RCC system reset(for debug purpose) */ RCC_DeInit(); /* Enable HS ...
- Caused by: java.lang.NoSuchMethodError: org.slf4j.impl.StaticLoggerBinder.getSingleton()Lorg/slf4j/i
Caused by: java.lang.NoSuchMethodError: org.slf4j.impl.StaticLoggerBinder.getSingleton()Lorg/slf4j/i ...
- SQL Server 2005 日志文件过大处理
由于安装的时候没有计划好空间,默认装在系统盘,而且又没有做自动备份.截断事务日志等,很快LDF文件就达到十几G,或者几十G ,此时就不得不处理了. 备份和计划就不说了,现在就说下怎么把它先删除吧: 1 ...
- asp.net 分页-利用后台直接生成html分页
一直想做一个属于自己的分页, 1:我试过用datapage,虽然是很好用,但是必须要配合datalist才能使用,感觉不太好 2:自己写分页控件,目前正在摸索中,关键是怎么分页的问题,有的是用data ...
- sdp内容解析
sdp解释 http://datatracker.ietf.org/doc/draft-nandakumar-rtcweb-sdp/?include_text=1
- HDU 4712:Hamming Distance
Hamming Distance Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) ...