基于SQL中的数据查询语句汇总

 更新时间:2013年07月31日 08:50:45   作者:  
以下是对SQL中的数据查询语句进行了汇总介绍,需要的朋友可以过来参考下

where条件表达式
--统计函数

复制代码 代码如下:

Select count(1) from student;

--like模糊查询
--统计班上姓张的人数
复制代码 代码如下:

select count(*) from student where realName like '张%';

--统计班上张姓两个字的人数
复制代码 代码如下:

select count(*) from student where realName like '张_';

--统计班上杭州籍的学生人数
复制代码 代码如下:

select count(*) from student where home like '%杭州%';

--查询班上每位学生的年龄
复制代码 代码如下:

select realName,year(now())-year(birthday) as age from student;

--查询90年出生的学生
复制代码 代码如下:

select realName from student where year(birthday)>='1990';

--查询1987-1990年出生的学生
复制代码 代码如下:

select realName from student where year(birthday)<='1990' and year(birthday)>='1987';
select * from student where year(birthday) between '1987' and '1990';

--查询班上男女生人数
复制代码 代码如下:

select sex,count(*) from student group by sex;

--in子句查询班上B或O型血的学生
复制代码 代码如下:

select realName,blood from student where blood in('B','O'); 

子查询
子查询也可称之为嵌套查询,有些时候,一次查询不能解决问题,需要多次查询。

按子查询返回的记录行数区分,可分为单行子查询和多行子查询;

复制代码 代码如下:

select * from emp where sal>(       select sal from emp where ename='ALLEN‘ or ename =‘KING')

上例是找出比allen工资高的所有员工

A.子查询一般先于主语句的运行
B.必须有( ),表示一个整体
C.习惯上把子查询放在条件的右边
多行子查询:some,any,all

连接语句(应用于多表查询)
包括:内联,外联(左外连和右外联)
内联(inner join):把两张表相匹配的行查询出来。

--查询每个学生的各科成绩,显示“姓名”“课程名”“分数”三列

复制代码 代码如下:

select a.realname,c.courseName,b.score from stu_student as a inner join stu_score as b on a.sid=b.sid inner join stu_course c on b.cid=c.cid

还有一种方法,不采用inner join:
复制代码 代码如下:

select a.realname,c.courseName,b.score from student a,score b,course c where a.sid=b.sid and c.cid=b.cid

外联分左外联和右外联:
Left outer join:查询两边表的匹配记录,且将左表的不匹配记录也查询出来。
Right outer join:等上,将右表不匹配记录也查询出来。
复制代码 代码如下:

select a.realname,b.score from stu_student as a left outer join stu_score as b on a.sid=b.sid

相关文章

  • MySQL 常用命令

    MySQL 常用命令

    MySQL 常用命令...
    2006-12-12
  • MySQL中LIKE BINARY和LIKE模糊查询实例代码

    MySQL中LIKE BINARY和LIKE模糊查询实例代码

    通常在实际应用中,会涉及到模糊查询的需求,下面这篇文章主要给大家介绍了关于MySQL中LIKE BINARY和LIKE模糊查询的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • Mysql数据库从5.6.28版本升到8.0.11版本部署项目时遇到的问题及解决方法

    Mysql数据库从5.6.28版本升到8.0.11版本部署项目时遇到的问题及解决方法

    这篇文章主要介绍了Mysql数据库从5.6.28版本升到8.0.11版本过程中遇到的问题及解决方法,解决办法有三种,每种方法给大家介绍的都很详细,感兴趣的朋友跟随脚本之家小编一起学习吧
    2018-05-05
  • SQL性能优化方法及性能测试

    SQL性能优化方法及性能测试

    这篇文章主要介绍了SQL性能优化方法及性能测试,文章围绕主题展开详细内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-05-05
  • MySQL如何基于Explain关键字优化索引功能

    MySQL如何基于Explain关键字优化索引功能

    这篇文章主要介绍了MySQL如何基于Explain关键字优化索引功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Mysql 中文排序规则说明

    Mysql 中文排序规则说明

    这篇文章主要介绍了Mysql 中文排序规则说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • MySql避免重复插入记录的几种方法

    MySql避免重复插入记录的几种方法

    本文章来给大家提供三种在mysql中避免重复插入记录方法,主要是讲到了ignore,Replace,ON DUPLICATE KEY UPDATE三种方法,有需要的朋友可以参考一下
    2013-08-08
  • MySQL优化之使用连接(join)代替子查询

    MySQL优化之使用连接(join)代替子查询

    有些时候,子查询可以被更有效的连接替代,方法仅供参考,需要的朋友可以了解下。
    2017-10-10
  • 验证mysql是否安装成功的方法

    验证mysql是否安装成功的方法

    在本篇文章里小编给大家分享的是关于验证mysql是否安装成功的方法,需要的朋友们可以学习下。
    2020-06-06
  • MySQL深分页问题原理与三种解决方案

    MySQL深分页问题原理与三种解决方案

    本文主要介绍了MySql深分页问题原理与解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05

最新评论