MySQL之——10个select语句的简单用法

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47610159

本篇文章主要讲述的是MySQL SELECT句法的简单分析,我们大家都知道MySQL数据库是我们大家经常使用的数据库,其相关的应用也是备受关注的,那么以下的文章主要是对MySQL SELECT句法的简单分析。

1、select语句可以用回车分隔

$sql="select * from article where id=1"
和
$sql="select * from article
where id=1",都可以得到正确的结果,但有时分开写或许能更明了一点,特别是当sql语句比较长时

2、批量查询数据

可以用in来实现

$sql="select * from article where id in(1,3,5)"

3、使用concat连接查询的结果

$sql="select concat(id,"-",con) as res from article where id=1"

返回"1-article content"

4、使用locate

用法:

select locate("hello","hello baby");

存在返回1,不存在返回0

5、使用group by

group by 是把相同的结果编为一组

exam:$sql="select city ,count(*) from customer group by city";

这句话的意思就是从customer表里列出所有不重复的城市,及其数量(有点类似distinct)

group by 经常与AVG(),MIN(),MAX(),SUM(),COUNT()一起使用

6、使用having

having 允许有条件地聚合数据为组

$sql="select city,count(*),min(birth_day) from customer
group by city having count(*)>10";

这句话是先按city归组,然后找出city地数量大于10的城市

btw:使用group by + having 速度有点慢

同时having子句包含的表达式必须在之前出现过

7、组合子句

where、group by、having、order by(如果这四个都要使用的话,一般按这个顺序排列)

8、使用distinct

distinct是去掉重复值用的

$sql="select distinct city from customer order by id desc";

这句话的意思就是从customer表中查询所有的不重复的city

9、使用limit

如果要显示某条记录之后的所有记录

$sql="select * from article limit 100,-1";

10、多表查询

$sql="select user_name from user u,member m
where u.id=m.id and
m.reg_date>=2015-08-13
order by u.id desc"

注意:如果user和member两个标同时有user_name字段,会出现mysql错误(因为mysql不知道你到底要查询哪个表里的user_name),必须指明是哪个表的;

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-09 06:19:46

MySQL之——10个select语句的简单用法的相关文章

MySQL(五)SELECT语句执行顺序

上一篇讲述了Oracle的SELECT语法的执行顺序,这篇讲述MySQL的SELECT语法的执行顺序.MySQL的SELECT语法的执行顺序和Oracle的基本相同,只是增加了MySQL独有的LIMIT语法. 目录 一.SELECT语句的处理过程 1. FROM阶段 2. WHERE阶段 3. GROUP BY阶段 4. HAVING阶段 5. SELECT阶段 6. ORDER BY阶段 7. LIMIT阶段 一.SELECT语句的处理过程 查询操作是关系数据库中使用最为频繁的操作,也是构成其

MySQL数据库学习02: SELECT语句

声明:本篇文章大多数内容出自<MySQL必知必会>,仅供学习参考,勿作他用! 第4章 检索数据 4.1 SELECT语句 SELECT子句用于检索数据库中的表数据.它几乎是MySQL中最常用的语句.我们一定要掌握好.为了能够检索表数据,必须至少给出两条信息 —— 想选择什么(表字段,即列),以及从什么地方选择(哪张表). 4.2 检索单个列 输入: select prod_name from products; 分析: 上述语句利用SELECT语句从products表中检索一个名为prod_n

MYSQL之DML(select 语句)

select 语句 :SELECT select-list FROM tb WHERE qualification查询语句类型 :简单查询多表查询子查询SELECT FROM tb_name;SELECT field1,field2 FROM tb_name ; 投影SELECT [DISTINCT] FROM tb_name WHERE qualification ; 选择FROM子句:要查询的关系 表.多个表.其它SELECT语句WHERE子句 :布尔关系表达式 = .<.>.<=.

【MYSQL】update/delete/select语句中的子查询

update或delete语句里含有子查询时,子查询里的表不能在update或是delete语句中,如含有运行时会报错:但select语句里含有子查询时,子查询里的表可以在select语句中. 如:把总成绩小于100的学生名称修改为天才 select stu_id from score group by stu_id having sum(grade)<100; #查询总成绩小于100的学生IDupdate students set name='天才' where id in (select s

mysql中常用的select语句记录

1:带条件查询,查询ID=2的数据 SELECT * FROM table WHERE ID = 2 2:查询前几条数据,如查询前2条数据 SELECT * FROM table LIMIT 2

mysql语句基本简单查询

mysql语句基本简单查询 第一节 -- or # 单行注释/***多行注释*/ -- c创建数据库examCREATE DATABASE exam; USE exam; /*创建部门表*/CREATE TABLE dept( deptno INT PRIMARY KEY, dname VARCHAR(50), loc VARCHAR(50)); /*创建雇员表*/CREATE TABLE emp( empno INT PRIMARY KEY, ename VARCHAR(50), job VA

MySQL实战 | 01-当执行一条 select 语句时,MySQL 到底做了啥?

原文链接:当执行一条 select 语句时,MySQL 到底做了啥? 也许,你也跟我一样,在遇到数据库问题时,总时茫然失措,想重启解决问题,又怕导致数据丢失,更怕重启失败,影响业务. 就算重启成功了,对于问题的原因仍不知所以. 本文开始,记录学习<MySQL实战45讲>专栏的过程. 也许有人会问,你记录有什么意义?直接看专栏不就行了吗?你这不是啃别人的剩骨头吗? 是的,这个系列,我只是基于专栏学习,但是我会尽量从我的角度搞懂每一个知识点,遇到不懂得也会将知识点进行拆分. 我知道关注公众号的小伙

mysql 查询select语句汇总

数据准备: 创建表: create table students( id int unsigned primary key auto_increment not null, name varchar(20) default '', age tinyint unsigned default 0, height decimal(5,2), gender enum('男','女','人妖','保密'), cls_id int unsigned default 0, isdelete bit defau

MySQL也有潜规则 – Select 语句不加 Order By 如何排序?

今天遇到一个问题,有一个 Select 语句没有加 “Order By”,返回的数据是不确定的. 这种问题碰到不止几次了.追根寻底, Select 语句如果不加 “Order By”, MySQL会怎么排序呢? 在网上搜了一下,在MySQL论坛发现了这篇文章. http://forums.mysql.com/read.php?21,239471,239688#msg-239688 简单翻译一下 * 不能依赖 MySQL 的默认排序 * 如果你想排序,总是加上 Order By * GROUP B