select语句在数据库操作中是操作频率最高的语句,使用方式也是多种多样,它的基本功能是:从表中选取数据,结果存储在一个结果集中。可以联合where,and,or,Order By,distinct,top, like,等一起使用。

一. select 最基本的用法如下:

select 字段 from 表名

字段是什么,选出的结果集中就包括什么字段

例如:从users表中只选取字段name的所有数据

select name from users

字段为 * 表示选出的结果中包括所有的字段

例如:表示从users表中选取所有字段的所有的数据

select * from users

二 select跟where,and,or,Order By,distinct,limit, like等命令的组合用法举例如下

1.选取user表中,年龄大于60岁的

2.选取user表中,年龄大于60岁并且名字中包括字母m的

3.选取user表中,年龄大于60岁或者名字中包括字母m的

4.选取user表中,年龄大于60岁或者名字中包括字母m的,按照年龄逆序排序

5.select distinct 去重复,只能返回它的目标字段,而无法返回其他字段

6.从表中选取头N条数据,在MySQL中用 select .... limit  N

7.  表user与表message相关联,用where in进行连表查询,in与where搭配使用,用来在 where 子句中规定多个值。

。。。。。未完待续。。。。。。

1.选取user表中,年龄大于60岁的

select * from user where age>60

2.选取user表中,年龄大于60岁并且名字中包括字母m的

select * from user where age>60 and name LIKE '%m%'

3.选取user表中,年龄大于60岁或者名字中包括字母m的

select * from user where age>60 or name LIKE '%m%'

4.选取user表中,年龄大于60岁或者名字中包括字母m的,按照年龄逆序排序

注意:order by 语句默认按照升序对结果集进行排序, desc关键字表示逆序

select * from user where age>60 or name LIKE '%m%' order by age desc

5.select distinct 去重复,只能返回它的目标字段,而无法返回其他字段

注意:

a. distinct  字段名1,字段名2,...,必须放在要去重字段的开头

b. 只在select 语句中使用

c. distinct 表示对后面的所有参数的拼接取不重复的记录,即distinct后面所有参数对应的记录同时一样时,才会去重

d 不能与all同时使用,默认情况下,查询时返回的就是所有的结果。

举例:

选取user表中,年龄大于60岁或者名字中包括字母m的,并且password不重复的数据

select distinct password from user where age>60 or name LIKE '%m%'

选取user表中,年龄大于60岁或者名字中包括字母m的,并且password不重复的数据的个数

select count( distinct password) from user where age>60 or name LIKE '%m%'

6.从表中选取头N条数据,在MySQL中用 select .... limit  N

举例:选取user表中,年龄大于60岁或者名字中包括字母m的 的头2条数据

select * from user where age>60 or name LIKE '%m%' LIMIT 2

 

7.  表user与表message相关联,用where in进行连表查询,in与where搭配使用,用来在 where 子句中规定多个值。

举例:

在message中找出年龄大于60的message

select * from message  where userid in (select id  from user where age >60)

MYSQL SQL语句 之 select的更多相关文章

  1. mysql sql语句大全(转载)

      1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- 创建 ...

  2. MYSQL SQL语句优化

    1.EXPLAIN 做MySQL优化,我们要善用EXPLAIN查看SQL执行计划. 下面来个简单的示例,标注(1.2.3.4.5)我们要重点关注的数据: type列,连接类型.一个好的SQL语句至少要 ...

  3. MYSQL SQL语句技巧初探(一)

    MYSQL SQL语句技巧初探(一) 本文是我最近了解到的sql某些方法()组合实现一些功能的总结以后还会更新: rand与rand(n)实现提取随机行及order by原理的探讨. Bit_and, ...

  4. MySQL客户端工具的使用与MySQL SQL语句

    MySQL客户端工具的使用 1.MySQL程序的组成 客户端 mysql:CLI交互式客户端程序 mycli:CLI交互式客户端程序;使用sql语句时会有提示信息 mysql_secure_insta ...

  5. [置顶] VB6基本数据库应用(三):连接数据库与SQL语句的Select语句初步

    同系列的第三篇,上一篇在:http://blog.csdn.net/jiluoxingren/article/details/9455721 连接数据库与SQL语句的Select语句初步 ”前文再续, ...

  6. mysql sql语句:行转列问题

    存在表score,记录学生的考试成绩,如下图所示: 现要求以 学生姓名,语文,数学,英语 这种格式显示学生成绩,如下图所示 具体步骤如下: 1.首先,使用case when函数输出单个课程的成绩 ca ...

  7. Mysql查询语句使用select.. for update导致的数据库死锁分析

    近期有一个业务需求,多台机器需要同时从Mysql一个表里查询数据并做后续业务逻辑,为了防止多台机器同时拿到一样的数据,每台机器需要在获取时锁住获取数据的数据段,保证多台机器不拿到相同的数据. 我们My ...

  8. 利用tcpdump抓取mysql sql语句

    这个脚本是我之前在网上无意间找个一个利用tcpdump 抓包工具获取mysql流量,并通过过滤把sql 语句输入. 脚本不是很长,但是效果很好. #!/bin/bash #this script us ...

  9. 程序员实用的 MySQL sql 语句

    这儿只讲究实用,  程序员编程时常用到的 MySQL的 sql语句(不包括基本的 select, update, delete 等语句). 1. 添加一个用户build,并赋予所有权限的命令 gran ...

随机推荐

  1. 题解 bzoj 2151 种树

    题意 传送门 手写堆大法好啊,题解貌似没有结构体堆的做法,思路有些像配对堆,关于配对堆请自行百度,因为本蒟蒻不会.. 以下是蒟蒻的做法:建立一个大根堆a维护最大价值里面存入它的编号以及价值.听说配对堆 ...

  2. Storm 系列(三)—— Storm 单机版本环境搭建

    1. 安装环境要求 you need to install Storm's dependencies on Nimbus and the worker machines. These are: Jav ...

  3. idea中applicationContext-trans.xml中的Cannot resolve bean 'dataSource'...的问题解决

    问题如下: (applicationContext-trans.xml中的部分截图) 先了解问题是怎么出现的: 此处的dataSource是在applicationContext-dao.xml中配置 ...

  4. airflow使用本地时区

    ​ 在airflow中使用的时间是utc时间,而更多时候我们希望的是使用本地时间,于是在定义airflow定时任务的时候,涉及到了时间的转换. 1.python中本地时间和utc时间的转换 查看国内可 ...

  5. crypto 的使用方法和说明

    crypto 模块提供了加密功能,包含对 OpenSSL 的哈希.HMAC.加密.解密.签名.以及验证功能的一整套封装.我们这里讲crypto AES算法加密 一.使用步骤 1.引入Crypto 1. ...

  6. python实现经典算法

    1,快速排序 题目形式:手写一下快速排序算法. 题目难度:中等. 出现概率:约50%.手写快排绝对是手撕代码面试题中的百兽之王,掌握了它就是送分题,没有掌握它就是送命题. 参考代码: def quic ...

  7. 深入理解JVM内存分配策略

    理解JVM内存分配策略 三大原则+担保机制 JVM分配内存机制有三大原则和担保机制 具体如下所示: 优先分配到eden区 大对象,直接进入到老年代 长期存活的对象分配到老年代 空间分配担保 对象优先在 ...

  8. java线上cpu、内存问题排查方法

    一.线程 查进程中占用cpu高的线程 ps -mp xxxxx -o THREAD,tid,time | sort -rn 将线程的id从10位转到16位,可以在下面jstack中找到对应线程 输出线 ...

  9. 章节十六、10-TestNG报告和日志

    一.在进行自动化的过程中,日志一般采用log4j 2进行日志记录,但TestNG自己本身也带有日志记录功能(reporter),它的好处在于日志中记录的内容都是testng自动生成的. package ...

  10. [DE] How to learn Big Data

    打开一瞧:50G的文件! emptystacks jobstacks jobtickets stackrequests worker 大数据加数据分析,需要以python+scikit,sql作为基础 ...