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

以下是对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

时间: 2024-09-15 19:22:50

基于SQL中的数据查询语句汇总的相关文章

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

where条件表达式--统计函数 复制代码 代码如下: Select count(1) from student; --like模糊查询--统计班上姓张的人数 复制代码 代码如下: select count(*) from student where realName like '张%'; --统计班上张姓两个字的人数 复制代码 代码如下: select count(*) from student where realName like '张_'; --统计班上杭州籍的学生人数 复制代码 代码如

详解SQL Server的简单查询语句_MsSql

前言 对于一些原理性文章园中已有大量的文章尤其是关于索引这一块,我也是花费大量时间去学习,对于了解索引原理对于后续理解查询计划和性能调优有很大的帮助,而我们只是一些内容进行概括和总结,这一节我们开始正式步入学习SQL中简单的查询语句,简短的内容,深入的理解. 简单查询语句 所有复杂的语句都是由简单的语句组成基本都是由SELECT.FROM.WHERE.GROUP BY.HAVING.ORDER BY等组成,当然还包括一些谓词等等.比如当我们要查询某表中所有数据时我们会像如下进行. SELECT

详解SQL Server的简单查询语句

前言 对于一些原理性文章园中已有大量的文章尤其是关于索引这一块,我也是花费大量时间去学习,对于了解索引原理对于后续理解查询计划和性能调优有很大的帮助,而我们只是一些内容进行概括和总结,这一节我们开始正式步入学习SQL中简单的查询语句,简短的内容,深入的理解. 简单查询语句 所有复杂的语句都是由简单的语句组成基本都是由SELECT.FROM.WHERE.GROUP BY.HAVING.ORDER BY等组成,当然还包括一些谓词等等.比如当我们要查询某表中所有数据时我们会像如下进行. SELECT

注意ADO。NET中数据查询语句中的符号格式(c#实现)

ado|数据|语句 1.通配符的使用 在ADO.NET中允许使用通配符进行数据查询.如下面语句查询表中EmployeeID以A开头的所有数据                Select EmployeeID,EmployName,Tel,Salary .....where EmployeeID='A%';     ADO.NET允许在字符串的开头或结尾使用%或*通配符.如下面语句查询表中所有单号尾为S的单据 Select productcode,productname,productsum,pr

insert语句在pl/sql中替换数据可以执行,但是java中却报错

问题描述 insert语句在pl/sql中替换数据可以执行,但是java中却报错 java语句: public int initiating(String title, String content, String numberLimit,String fkCustomerId) { String pkId = "44"; String sql="insert into ACTIVITY_INFO (pk_id,title,content,fk_customer_id,num

跟我学SQL:(一)数据查询

数据  且不说你是否正在从事编程方面的工作或者不打算学习SQL,可事实上几乎每一位开发者最终都会遭遇它.你多半还用不着负责创建和维持某个数据库,但你怎么着也该知道以下的一些有关的SQL知识.     我为那些感兴趣的开发者或者能从数据库操作中得益的读者撰写了这篇关于基本SQL语法的概述性文章.本文主要讨论基本的数据操作查询,后续的文章还会继续讨论如何修改数据库自身以及更高级的查询概念. SQL数据库是怎么回事?  SQL(结构化查询语言)就是负责与ANSI维护的数据库交互的标准.最新的版本是SQ

vfp中的数据查询

Visual FoxPro 语言体系包括三个部分:一是传统的Xbase 语言体系,二是结构化查询语言(SQL),三是面向对象化(OOP)程序设计语言.笔者认为,Visual FoxPro 这三部分语言都具有数据查询的功能.可能对于Xbase语言和SQL语言具有数据查询功能大家是没有异议的,但Visual FoxPro中的OOP语言应不会有数据查询功能,因为一般认为在Visual FoxPro中数据处理是非面向对象的,就此可以得出Visual FoxPro中的OOP语言应不具备数据查询功能.其实则

mysql-MySQL中多表查询语句并显示结果到jsp上

问题描述 MySQL中多表查询语句并显示结果到jsp上 我的Java连接了数据库(MySQL的),现在库里十张表,除了表名不一样外,表里内容都一致.现在我想通过后台来根据表名查询每张表,然后把每张表里的内容显示到前台的jsp页面上,请问查询语句应该怎么写? 解决方案 可以用sql的 union 语句连接几个表,组织到一个集合里显示

ORACLE和SYBASE数据库中实现数据查询条数限制的SQL语句实现

一.概述 对于某些需要通过数据库与大量数据打交道的软件来说,处理性能相当的重要.为了保证软件能够将所有数据处理完而不至于崩溃,分批处理的思想应运而生.分批处理的具体做法是编写SQL语句,每次返回规定条数的数据给软件处理,待这一批数据处理完之后,再接着处理下一批. 本文通过对具体的数据库表(tb_employeeinfo)的操作过程,展示了ORACLE和SYBASE数据库中分批处理SQL语句的编写方法. 二.ORACLE数据库中的处理 首先,建立tb_employeeinfo表,其定义如下: be