`
wangyalei
  • 浏览: 53743 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

SQL总结笔记(一)

    博客分类:
  • SQL
阅读更多

 学sql老长时间了,不过最近一直在用mysql,虽然都差不多,但在这里还是要总结一下,对以后可能有帮助

废话也不多说了,sql主要的是查询

 

查询产生一个虚拟表,看到的是表形式显示的结果,但结果并不真正存储,每次执行查询只是现从数据表中提取数据,并按照表的形式显示出来
SELECT 语句的基本语法格式

SELECT    <列名> 
FROM      <表名> 
[WHERE    <查询条件表达式>] 
[ORDER BY <排序的列名>[ASC或DESC]]

 

选择表中的若干列

二、查询表中部分列
1、格式
      select   列名1,列名2,列名3,……
      from   表名
2、例:查询学生的姓名和出生日期
      select  stuName,stuBirthday
      form  studentInfo  

 

消除重复行查询

1、格式
      select  distinct 列名  from  表名
2、例:查询选修了课程的学生的学号
      select  distinct  stuID  from  selectInfo 

 

 为结果集内的列指定别名

1、格式
     select   表达式    as   别名   from  表名
2、例:查询学生表中学生的姓名及年龄
   select   姓名, year(getdate())-year(stuBirthday)  as stuAge 
   from  studentInfo

 

 限制返回行数

1、格式
      select  top n  *  from  表名
 或  select  top  n  percent  from  表名
      top n:前n行记录
      top  n  percent:前n%行记录
2、例:查询成绩表中前3行记录
      select  top  3  *   from   scroeInfo

 

查询满足条件的记录

1、格式
     select  *  from  表名   where  查询条件
2、例:查询成绩表中C语言成绩大于60分的记录
     select  *  from  score   
      where  stuscore>=60

 

常用的查询条件

查询条件	运算符	意义
比较	>,>=,<,<=,=,!=(<>),!>,!<;not+上述运算符	比较大小
确定范围	Between and,
Not between and	判断值是否在范围内
确定集合	In ,not in	判断是否是列表中的值

 

查询条件	运算符	意义
字符匹配	Like,not like	判断值是否与指定的字符通配格式相符
空值	Is null,not  is null	 判断值是否为空
多重条件	And,or,not	用于多重条件选择

 

SQL中的通配符

 

(1)%:百分号,代表任意长度的字符串(长度可以是0)的字符串。
   例如:a%b表示以a开头,以b结尾的任意长度的字符串。
      acb      adkdkb     ab

查询学生表中姓“刘”的同学的信息
   select  *  from  studentinfo   where 
   stuName  like  ‘刘%’
查询学生表中手机号前三位是138,最后两位是66的同学信息
   select  *  from  studentinfo   where
   stuTel  like  ‘138%66’

 

(2)_:下划线,代表任意单个字符。
    例如:a_b表示以a开头,以b结尾的长度为3的任意字符串。
   acb         akjdfb        ab
(3)[  ]:表示方括号里列出的任意一个字符。
 例如:A[BCDE],表示第一个字符是A,第二各
字符为B,C,D,E中的任意一个;也可以是字
符范围,如A[B-E]与A[BCDE]等价
(4)[^   ]:表示不在方括号里的列出的任意一个字
符,与[  ] 互为反运算

 

 

涉及空值的查询

1、格式
     列表达式   IS [NOT] NULL
2、例:查询学生表中成绩为空的学生信息
      select  *  from  studentInfo
       where    stuScore  is  null
注:①null与0和空格不同
       ②is不能用“=”代替

 

多重条件查询

1、格式
    [NOT]  逻辑表达式  AND| OR  [NOT]  逻辑表达式 
2、例:查询学生表中宿舍号为‘504’,成绩在80到100之间的同学的学号和姓名
   select  stuID,stuName  from  studentInfo
  where stuDorm=‘504’ and stuScore>=80  and
    stuScore<=100

 

对查询结果进行排序

1、格式
   ORDER BY  列名  [ASC|DESC]
 功能:查询结果按指定列进行升序(ASC)或
降序(DESC)排列
2、例:查询宿舍号是504的同学的信息,成绩按降序排列
select * from studentInfo
  where stuDorm=‘504’  order by  stuScore  desc

 

3、可以进行多列排序,先按前面的列进行排序,如果值相同再按后面的列排序
格式:ORDER BY 列名1 [ASC|DESC] ,
           列名2 [ASC|DESC] 
例:查询全体学生的信息,查询结果先对宿舍
号进行升序,再对成绩进行降序排列
 select  *  from  studentInfo
order by stuDorm asc,stuScore desc

 

使用聚合函数

1、COUNT([DISTINCT|ALL]*)
   功能:统计记录的个数
   说明:DISTINCT是去掉指定列中的重复值的意思,ALL是不取消重复,默认是ALL
  例:查询学生表中学生总数
   select count(*) as 学生总数  from studentinfo
使用聚合函数
3、SUM([DISTINCT|ALL]<列名>)
      AVG([DISTINCT|ALL]<列名>)
      MAX([DISTINCT|ALL]<列名>)
      MIN([DISTINCT|ALL]<列名>)
功能:分别计算一列值的总和(SUM)、平均值(AVG)、最大值(MAX)、最小值(MIN)
注意:①使用SUM和AVG时,计算列必须是数值型
           ②使用聚合函数返回单行的值,如果要统计多行的值,根据业务需求使用 group by 子句

 对结果进行分组统计

二、对结果进行分组统计
1、格式
 GROUP BY  列名  [HAVING  筛选条件表达式]
2、说明
(1)“BY 列名”是指按指定的列进行分组统计
(2)通常是对其中一列进行分组,对另一列进
          行统计

 

3、注意事项
(1)select 子句中的列名必须包含在聚合函数中或group by 子句中
(2)having与where子句的区别在于作用对象不同。having作用于组,选择满足条件的组,where子句作用于表,选择满足条件的记录
(3)where 子句不可以使用聚合函数,having子句可以使用聚合函数
(4)分组统计每个组只有一个汇总行,只显示统计信息

 

小例子

 

select empID,avg(empSalary)
from salaryinfo
where empsalary>=4000
group by empID
having avg(empSalary)>5800

 

用查询结果生成新表

1、格式
    select  <列表达式>  into  新表名
    from  源表名
    where  查询条件
2、说明:
 (1)新表名是被创建的新表,查询的结果将添加到此表中
 (2)新表中的字段由结果集中的字段列表决定
例:查询选课表中成绩在60分以上的信息,并保存在表passInfo中
      select *  into  passInfo
      from  selectInfo
      where stuScore>=60     

 使用select 语句向表中插入数据

语法结构
insert [into]  表名1(列名列表)
select   列名列表 from   表名2  
where  查询条件
注:①insert表和select表的结果集的列数、列
序数据类型必须一致
       ②insert [into]  select:所插入的表必须存在
           select  into:自动创建了一个新表
2
0
分享到:
评论

相关推荐

    SQL Server 笔记.docx

    作为一名 ITIndustry 大师,我将根据提供的文件信息,总结出相关的知识点,帮助您快速了解 SQL Server 数据库的管理和操作。 创建和管理数据库 SQL Server 中创建数据库的基本语法为:`Create Database 数据库名`...

    sql学习笔记 常见问题总结

    本学习笔记旨在总结SQL的常见问题及基础概念,帮助读者深入理解和掌握SQL的核心技巧。 一、SQL基础 1. 数据库与表结构:SQL中的数据库是由多个表组成的集合,每个表包含若干列和行。列定义了数据类型,如整数、...

    高效SQL学习笔记

    总结,SQL是一门强大且实用的语言,无论是在数据仓库分析、应用程序开发还是日常的数据管理中,都有其不可或缺的地位。通过不断的学习和实践,你将能够更加熟练地运用SQL,实现高效的数据处理和决策支持。

    sqlserver数据库笔记

    在 SQL Server 中创建数据库是一项基础但重要的技能。以下是一些关键步骤和语法示例: ```sql CREATE DATABASE ckgl ON PRIMARY ( -- 创建第一个数据文件,即主文件 NAME = xkgldata1, FILENAME = 'D:\java\...

    SQLServer2005数据库学习笔记

    笔记是本人学习SQLServer一段时间后重新整理出来的,适合有一些入门基础的人学习。 ├─01 安装及使用 │ SQLServer2005安装及使用.txt │ ├─02 常用函数 │ function.sql │ ├─03 建表、建库 │ create.sql ...

    SQL 事务笔记

    这篇笔记将深入探讨SQL Server中的事务管理。 一、事务的四大特性(ACID) 1. 原子性(Atomicity):事务中的所有操作被视为一个单元,即使部分操作失败,整个事务也会被回滚,确保数据的完整性。 2. 一致性...

    t-sql学习笔记

    t-sql学习笔记,总结的挺好

    SQL学习笔记.docx

    本文档是关于 SQL 学习笔记的总结,涵盖了 SQL 的基本概念、函数、语法、应用场景等方面。下面是对标题、描述、标签和部分内容的详细解释: SQL 基本概念 SQL(Structured Query Language)是一种标准化的数据库...

    sqlserver数据库操作笔记

    #### 一、SQL Server 的安装与配置 **1. 安装步骤:** - **准备阶段:** 首先确保安装环境中满足SQL Server的最低硬件要求,并且操作系统兼容。 - **安装介质:** 获取SQL Server安装介质,通常为ISO镜像或安装包。...

    超有用sql笔记总结

    这篇超有用的SQL笔记涵盖了多个关键知识点,包括数据检索、数据操作以及SQL查询的高级技巧。以下是对这些知识点的详细解释: 1. **限制查询结果数量**: - `SELECT TOP n * FROM 表名` 是SQL Server中获取前n行...

    sql学习笔记 包含实例

    以上就是从给定文件中提取并总结出来的SQL知识点。通过这些基本操作的学习,可以很好地掌握Oracle数据库的基本使用方法。这些技能对于初学者来说至关重要,也是进一步深入学习数据库管理技术的基础。

    谷粒商城(学习笔记) sql文件

    总结来说,【谷粒商城(学习笔记) sql文件】的学习涵盖了数据库设计的基本原理,以及如何利用SQL来实现一个电子商务系统的数据管理。通过理解和实践这些SQL脚本,不仅可以加深对SQL语言的理解,也能为构建类似系统...

    linq to sql 学习笔记

    《LINQ to SQL 学习笔记》 LINQ (Language Integrated Query) 是.NET框架中引入的一项强大技术,它允许开发者使用熟悉的C#或VB.NET语言语法进行数据查询,而无需学习新的查询语言。LINQ to SQL是LINQ的一个特定实现...

    SQL语句笔记

    以下是从“SQL语句笔记”中提炼的关键知识点: - **SELECT语句**:最常用的SQL语句之一,用于从数据库中检索数据。 - `SELECT * FROM table WHERE a = ''`:这表示从`table`中选取所有列,但只返回那些`a`列值为空...

    OracleSQL笔记

    ### Oracle SQL 笔记知识点详解 #### 一、SQLPlus 命令及环境变量 Oracle_sid - **SQLPlus 命令位置**:在 Oracle 安装目录下的 `bin` 文件夹中,可以通过 SQLPlus 来执行 SQL 命令。 - **Oracle_sid 环境变量**:...

    B站Mosh老师sql三小时的课程笔记

    本文是对B站Mosh老师SQL三小时的课程笔记的总结,涵盖了SQL基础知识、SELECT语句、WHERE子句、逻辑操作符、IN操作符、BETWEEN操作符、LIKE操作符和REGEXP操作符等内容。 SQL基础知识 SQL(Structured Query ...

    Sqlserver2008--学习笔记(自己总结)

    ### Sqlserver2008 学习笔记精要 #### 第一章 SQL Server 基础 ##### 1. T-SQL 语句基础 - **创建数据库**: 使用 `CREATE DATABASE` 语句来创建一个新的数据库。例如: ```sql CREATE DATABASE 新数据库名; ``...

    pl/sql学习笔记

    总结,"pl/sql学习笔记"涵盖了PL/SQL的各个方面,包括基本语法、数据类型、流程控制、存储过程、函数、异常处理、游标和事务管理。这些内容对于深入理解和使用Oracle数据库至关重要,也是提升数据库管理与开发技能的...

    Spark SQL学习笔记

    ### Spark SQL 学习笔记知识点总结 #### 一、Spark SQL 概述 - **定义**:Spark SQL 是 Apache Spark 的一个模块,用于处理结构化数据。它提供了 DataFrame 和 Dataset API,以及支持 SQL 查询的能力。这些特性...

    SQL知识点总结学习笔记

    ### SQL知识点总结学习笔记 #### 1. 软件生命周期各阶段与SQL的关系 - **需求分析阶段**:在这一阶段,主要任务是理解客户的需求,包括业务流程、数据处理等方面的需求。对于数据库设计来说,这个阶段非常重要,...

Global site tag (gtag.js) - Google Analytics