有你,查询数据我什么都不怕。快快掌握!!

出大招的工具:

1.使用LIKE、BETWEEN、IN进行模糊查询

eg1:

SELECT * FROM Students

WHERE 姓名 like '张%'

eg2:

SELECT StudentID, Score FROM SCore WHERE Score

BETWEEN 60 AND 80

eg3:

SELECT SName AS 学生姓名,SAddress AS 地址

FROM Students

WHERE SAddress IN ('北京','广州','上海')

2.通配符

eg:

SELECT * FROM 数据表

WHERE 编号 LIKE '00[^8]%[AC]%'

3.SUM() 

AVG() 

MAX()、MIN() 

COUNT()

eg1:

SELECT SUM(Score)  AS  学号为23的学生总分

FROM  Score

WHERE  StudentID =23

eg2:

SELECT AVG(SCore) AS 及格平均成绩

FROM Score

WHERE Score >=60

eg3:

SELECT AVG(SCore) AS 平均成绩, MAX (Score) AS 最高分,

MIN (Score) AS 最低分

FROM Score

WHERE Score >=60

eg4:

SELECT COUNT (*)  AS 及格人数

FROM Score

WHERE Score>=60

4.分组查询用法

SELECT …… FROM  <表名>

WHERE  ……

GROUP BY ……

eg:

SELECT COUNT(*) AS 人数, SGrade AS 年级

FROM  Students

GROUP BY SGrade

eg2:

SELECT CourseID, AVG(Score) AS 课程平均成绩

FROM Score

GROUP BY CourseID

eg3:

SELECT CourseID, AVG(Score) AS 课程平均成绩

FROM Score

GROUP BY CourseID

ORDER BY AVG(Score)

5.多列分组

SELECT COUNT(*) AS 人数,SGrade AS 年级,SSex AS   性别

FROM StudentS

GROUP BY SGrade,SSex

ORDER BY SGrade

6.分组筛选

SELECT …… FROM  <表名>

WHERE ……

GROUP BY ……

HAVING……

eg:

SELECT COUNT(*) AS 人数,SGrade AS 年级

FROM Students

GROUP BY SGrade

HAVING COUNT(*)>15

7.多表连接查询

内连接(INNER JOIN)

SELECT   ……

FROM   表1

INNER JOIN   表2

ON   ……

等价于

SELECT  ……

FROM   表1,表2

WHERE ……

eg:

SELECT Students.SName, Score.CourseID, Score.Score

FROM   Students,Score

WHERE  Students.SCode = Score.StudentID

三表内连接:

eg:

SELECT

S.SName AS 姓名, CS.CourseName AS 课程, C.Score AS 成绩

FROM Students AS S

INNER JOIN Score AS C ON (S.SCode = C.StudentID)

INNER JOIN Course AS CS ON (CS.CourseID = C.CourseID)

外连接
左外连接   (LEFT JOIN)
eg:

SELECT   S.SName,C.CourseID,C.Score

FROM   Students AS S

LEFT JOIN   Score AS C

ON     C.StudentID = S.SCode

右外连接   (RIGHT JOIN)
eg:

SELECT 图书编号,图书名称,出版社名称

FROM 图书表

RIGHT OUTER JOIN 出版社表

ON 图书表.出版社编号 = 出版社表.出版社编号

SQL查询数据的几大方法的更多相关文章

  1. SQL反模式学习笔记18 减少SQL查询数据,避免使用一条SQL语句解决复杂问题

    目标:减少SQL查询数据,避免使用一条SQL语句解决复杂问题 反模式:视图使用一步操作,单个SQL语句解决复杂问题 使用一个查询来获得所有结果的最常见后果就是产生了一个笛卡尔积.导致查询性能降低. 如 ...

  2. SQL查询数据并插入新表

    SQL查询数据并插入新表 --如果接受数据导入的表已经存在 insert into 表 select * from tablename --如果导入数据并生成表 select * into 表 fro ...

  3. SQL查询数据总结

    SQL查询数据 完整语法 Select [select选项] 字段列表[字段别名]/* from 数据源 [where条件子句] [group by子句] [having子句] [order by子句 ...

  4. python操作mongodb根据_id查询数据的实现方法

    python操作mongodb根据_id查询数据的实现方法   python操作mongodb根据_id查询数据的实现方法,实例分析了Python根据pymongo不同版本操作ObjectId的技巧, ...

  5. Hibernate原生SQL查询数据转换为HQL查询数据方法

    HQL形式:(构造方法不支持timestamp类型) public List<Device> queryByMatherBoardId(String matherBoardId) { St ...

  6. 基于Spring Boot,使用JPA动态调用Sql查询数据

    在<基于Spring Boot,使用JPA操作Sql Server数据库完成CRUD>,<基于Spring Boot,使用JPA调用Sql Server数据库的存储过程并返回记录集合 ...

  7. 通过 sqldf 包使用 SQL 查询数据框

    在前面的章节中,我们学习了如何编写 SQL 语句,在关系型数据库(如 SQLite 和MySQL )中查询数据.我们可能会想,有没有一种方法,能够直接使用 SQL 进行数据框查询,就像数据框是关系型数 ...

  8. Mybatis 传入多个参数查询数据 (3种方法)

    第一种方案 DAO层的函数方法 public User selectUser(String name,String area); 对应的Mapper.xml <select id="s ...

  9. 20150221—LINQ to SQL 查询数据

    LINQ to SQL 可以快捷的查询基于SQL的数据,直接在VS中包括基本的Object/relation映射器,O/R映射器可以快速的将基于SQL的数据源映射为CLR对象,之后就可以使用LINQ查 ...

随机推荐

  1. How Google TestsSoftware - Part Three

    Lots of questions in thecomments to the last two posts. I am not ignoring them. Hopefully many of th ...

  2. Java基础,输入输出

    package hanqi.test; import java.io.File; import java.io.IOException; public class Test02 { public st ...

  3. android rectF

    new Rect(left , top, right , bottom) 这个构造方法需要四个参数这四个参数 指明了什么位置 ?我们就来解释怎么画 这个 矩形 这四个 参数 分别代表的意思是:left ...

  4. Java多线程系列--“JUC原子类”03之 AtomicLongArray原子类

    概要 AtomicIntegerArray, AtomicLongArray, AtomicReferenceArray这3个数组类型的原子类的原理和用法相似.本章以AtomicLongArray对数 ...

  5. Unity3d知识体系思维导图

    整理了一下U3D的技能树.

  6. Spark入门实战系列--8.Spark MLlib(下)--机器学习库SparkMLlib实战

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .MLlib实例 1.1 聚类实例 1.1.1 算法说明 聚类(Cluster analys ...

  7. PHP类和对象函数实例详解

    1. interface_exists.class_exists.method_exists和property_exists: 顾名思义,从以上几个函数的命名便可以猜出几分他们的功能.我想这也是我随着 ...

  8. form上传文件以及跨域异步上传

    要设置了enctype属性才能上传,需要使用上传的jar包,这里使用的是cos-26Dec2008.jar, 而且后台获取值的时候,getfile要放在第一位 一次设置好上传格式后没有上传文件,也就没 ...

  9. 12种JavaScript MVC框架之比较

    Gordon L. Hempton是西雅图的一位黑客和设计师,他花费了几个月的时间研究和比较了12种流行的JavaScript MVC框架,并在博客中总结了每种框架的优缺点,最终的结果是,Ember. ...

  10. The Web server is configured to not list the contents of this directory.

    部署一个ASP.NET MVC网站至一个全新的服务器Windows Server 2008 R2, 数据为MS SQL Server 2014 64bit Expression版本. 运行时,它第一次 ...