MySQL SELECT语句

SELECT语句用于从表或视图中获取数据

Select语句组成Select    之后是逗号分隔列或星号(*)的列表,表示要返回所有列。
From     指定要查询数据的表或视图。
Join     根据某些连接条件从其他表中获取数据。
Where    筛选条件,过滤结果集中的行。
Group By  将一组行组合成小分组,并对每个小分组应用聚合函数。
Having   过滤器基于Group By子句定义的小分组。 Order By  指定用于排序的列的列表。 Limit    限制返回行的数量。

SELECT语句实例应用:

SELECT lastname, firstname, jobtitle From employees;    #从employees表中取lastname,firstname,jobtitle三列数据
SELECT * From employees;                     #从employees表中取所有列数据

对数值进行搜索

SELECT * from where score>90;                  #显示分数大于95的信息

对字符串值进行查找

SELECT first_name From employees where first_name='Tom';  #找出姓Tom的员工

多类型条件组合查找

SELECT last_name,first_name,birth,state from employees where birth<'1995-2' and (state='VA' or state='BA');

NULL值特殊处理(各种操作符不能对NULL值进行处理)

NULL值查找采用is null或is not null

SELECT first_name,birth from employees where death is null查询结果排序

SELECT last_name,first_name from employees order by state DESC,last_name ASC    #先按出生地降序排列,同出生地按姓氏升序排列

http://blog.sina.com.cn/s/blog_5e45d1be0100i0dg.html

MySQL还可以把表达式的计算结果当作输出列的值

常用的日期操作:
MySQL中,年份是处于最前面的。
    1.按日期进行排序

    SELECT * from employees where time between '2015-6-1' and '2016-6-1'

    SELECT * from event where date=’2002-10-01’
    2.查找某个日期或日期范围          SELECT last_name,first_name,birth,state from employees where death>'1990-1-1' and death<'2000-1-1'

    3.提取日期中的年,元,日各个部分三个函数(year,month,dayofmonth可分离出日期中的年月日)

    SELECT last_name,first_name,birth,state from employees where where month(birth)=7 and dayofmonth(birth) =6;
    4.用一个日期求出另外一个日期(to_days可以把日期转换为天数)

    SELECT last_name,first_name,birth to_days(death)-to_days(birth) as age from president        SELECT last_name,first_name,expiration from member where(to_days(expiration)-to_days(curdate())<60

模式匹配    模糊查询(使用like和not like加上一个带通配符的字符串)  通配符”_”(单个字符)和”&”(多个字符)

  SELECT concat(first_name,' ',last_name) as name,  where last_name like 'W%';                #找到W或w开头的人  where last_name like '%W%';               #找到名字里W或w开头的人  限制查询结果数据行个数

  SELECT last_name,first_name,birth,state from president

  order by birth limit 5;                 #只想看前5个    order by birth limit 10,5;                 #返回从第11个记录开始的5个记录(跳过了10个)

  小技巧:从president表中随机找出一个值:

  SELECT last_name,first_name,birth,state from president

  order by rand() limit 1;                #这是用了表达式求值的方法生成统计信息    1.查询结果中重复数据清洗(distinct)      SELECT distinct state from president      #查询美国总统来自哪个州(不计入重复数据)    2.count()函数统计相关记录的个数      使用方法:count(*)计算所有,NULL也要         count(数据列名称),NULL值不计算在内      SELECT count(*) from president;

  3.分类统计(count函数结合group by)        方法1:

    SELECT count(*) from student where sex=’f’;      SELECT count(*) from student where sex=’m;

    方法2:            SELECT sex,count(*) f rom student group by sex;      复杂应用:        查看总统出生最多的前4个州

    select state,count(*) as count from president group by state order by count desc limt4;
多张表数据提取      数据库可利用“关系”来综合多个数据表里面的记录,这种操作称之为“关联”或“结合”

  SELECT需要给出多个数据表里面的信息(不可重复);

  From需要知道从哪几个表里面做事;

  where则对几个表之间的关联信息作出详细的描述。    1.数据列引用方式:数据表名.数据列名        查询某一天内的学生们的考试成绩,用学号列出        SELECT scroe.student_id,event_date,score.score.event.type        From event,score        where event.date=’2003-09-12’ and event.event_id=score.event_id        首先,利用event数据表把日期映射到一个考试事件编号,再利用这个编号把score表内相匹配的考试分数找出来。关联两个表,完成查询。        查询某一天内的学生们的考试成绩,用姓名列出        SELECT student.name event.name,score.score,event.type        From event,score,student        where event.date=’2003-09-12’ and event.event_id=score.event_id and score.student_id=student.student_id;        查询一下缺席学生的名字,学号,缺席次数

    SELECT student.student_id,student_name

    count(absence.date) as absences

    From student,absence

    where student.student_id=absence.student_id  //关联条件

    group by student.student_id;

转载于:https://www.cnblogs.com/loser1949/p/8099982.html

MySQL-查询数据(SELECT)相关推荐

  1. python数据库查询系统_Python MySQL 查询数据(select from)

    1.从表中查询数据(Select From) 要从MySQL中的表中进行选择,请使用"SELECT"语句: 例如: 从"customers"表中选择所有记录,并 ...

  2. mysql 查询数据 程序_MySQL 查询数据

    MySQL 查询数据 MySQL 数据库使用SQL SELECT语句来查询数据. 你可以通过 mysql> 命令提示窗口中在数据库中查询数据,或者通过PHP脚本来查询数据. 语法 以下为在MyS ...

  3. MySQL 查询数据

    MySQL 查询数据 MySQL 数据库使用SQL SELECT语句来查询数据. 你可以通过 mysql> 命令提示窗口中在数据库中查询数据,或者通过PHP脚本来查询数据. 语法 以下为在MyS ...

  4. MySQL查询数据表中数据记录(包括多表查询)

    MySQL查询数据表中数据记录(包括多表查询) 在MySQL中创建数据库的目的是为了使用其中的数据. 使用select查询语句可以从数据库中把数据查询出来. select语句的语法格式如下: sele ...

  5. mysql查询数据的总记录数

    mysql查询数据的总记录数 领导让获取数据库中的所有记录总数,网上查了一会,看到了很多都是不能执行,我这小性子安耐不住了,开始暴怒,最后的最后看下来应该缺少了一个关键字,还自以为是的想不知道是不是m ...

  6. MySQL查询数据后加上百分号%

    MySQL查询数据后加上百分号% CONCAT(字段, '% ') mysql数字格式化千分号的问题,即每三位一个逗号 SELECT FORMAT('字段',2); mysql四舍五入的问题 roun ...

  7. MySQL查询数据(超详细)

    MySQL查询数据(超详细) 一.简单查询语句 select * from 表名 条件查询语句; 二.多表查询 多张表有同名字段出现在select语句中,同名字段必须带上 "表名 . 字段名 ...

  8. mysql select string,MySql查询在select中用空stringreplaceNULL

    MySql查询在select中用空stringreplaceNULL 你如何用空stringreplaceselect中的NULL值? 输出"NULL"值看起来不太专业. 这是非常 ...

  9. mysql查询结果作为附件_python3+mysql查询数据并通过邮件群发excel附件

    python3+mysql查询数据并通过邮件群发excel附件 来源:中文源码网    浏览: 次    日期:2018年9月2日 python3+mysql查询数据并通过邮件群发excel附件 本文 ...

  10. MYSQL 查询数据排序数据和分组数据

    在mysql查询过程中,可以对数据进行过滤,也可以对数据进行排序,可以对数据分组,下面分别讲述排序数据和分组数据例子.1,数据的排序 使用 ORDER BYselect * from where id ...

最新文章

  1. 第十三周项目二-动物这样叫(1)
  2. (转)利用libcurl和国内著名的两个物联网云端通讯的例程, ubuntu和openwrt下调试成功(四)...
  3. Leetcode236 最近公共祖先-二叉树两次遍历
  4. Django 3.2.5博客开发教程:一些常用的模板使用方法
  5. linux下mongdb绑定ip,Linux下MongoDB安装及副本集配置 | 聂扬帆博客
  6. 批量kill掉包含某个nginx的进程
  7. 【渝粤题库】陕西师范大学200481 高级英语(一)
  8. php中file对象实例,AJAX_File, FileReader 和 Ajax 文件上传实例分析(php),File FileReader 可以干什么? Ajax - phpStudy...
  9. 使用 python 处理 nc 数据
  10. [原创]Allegro 导入DXF文件,保留布好的线路信息
  11. Nifi flow 备份恢复
  12. HTML5 CSS3学习
  13. 魔戒显示网络错误 或者服务器停机,指环王安装和运行过程中的常见问题及解决办法(汇总)...
  14. ForkJoinPool 详解
  15. thinking in java 4
  16. Handling Complexity in the Halo 2 AI
  17. 怎么把PDF文件拆分,PDF拆分软件怎么操作
  18. 婚恋相亲源码-视频相亲app将会是直播的下一个风口吗?
  19. 擦地机器人排行榜_拖地扫地机器人十大品牌排行榜哪个牌子好
  20. nas架设php网站,使用QNAP NAS虚拟主机功能架设多个网站

热门文章

  1. php 打开报错,php模式下 运行start.php 报错
  2. m.pythontab.com_Python expandtabs()函数的使用
  3. 网络营销外包中那些超有效的网络营销方法有进一步了解过吗?
  4. 浅析网络营销外包中如何实现网络营销外包中的图片推广?
  5. SEO交换链接时需遵循哪些原则?
  6. 浅析如何从比值得出网站优化效果的好坏?
  7. python语言1010的八进制_python打印十六进制
  8. linux运维脚本编写,Linux运维常用shell脚本实例 (转)
  9. 杰奇为什么只能用php5.2,杰奇2.2修改系统定义后,网站报错问题解决
  10. 浩鲸新智能解决方案工程师面试_华为解决方案技术工程师面试?