学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:自动创建了一个新表
分享到:
相关推荐
作为一名 ITIndustry 大师,我将根据提供的文件信息,总结出相关的知识点,帮助您快速了解 SQL Server 数据库的管理和操作。 创建和管理数据库 SQL Server 中创建数据库的基本语法为:`Create Database 数据库名`...
本学习笔记旨在总结SQL的常见问题及基础概念,帮助读者深入理解和掌握SQL的核心技巧。 一、SQL基础 1. 数据库与表结构:SQL中的数据库是由多个表组成的集合,每个表包含若干列和行。列定义了数据类型,如整数、...
总结,SQL是一门强大且实用的语言,无论是在数据仓库分析、应用程序开发还是日常的数据管理中,都有其不可或缺的地位。通过不断的学习和实践,你将能够更加熟练地运用SQL,实现高效的数据处理和决策支持。
在 SQL Server 中创建数据库是一项基础但重要的技能。以下是一些关键步骤和语法示例: ```sql CREATE DATABASE ckgl ON PRIMARY ( -- 创建第一个数据文件,即主文件 NAME = xkgldata1, FILENAME = 'D:\java\...
笔记是本人学习SQLServer一段时间后重新整理出来的,适合有一些入门基础的人学习。 ├─01 安装及使用 │ SQLServer2005安装及使用.txt │ ├─02 常用函数 │ function.sql │ ├─03 建表、建库 │ create.sql ...
这篇笔记将深入探讨SQL Server中的事务管理。 一、事务的四大特性(ACID) 1. 原子性(Atomicity):事务中的所有操作被视为一个单元,即使部分操作失败,整个事务也会被回滚,确保数据的完整性。 2. 一致性...
t-sql学习笔记,总结的挺好
本文档是关于 SQL 学习笔记的总结,涵盖了 SQL 的基本概念、函数、语法、应用场景等方面。下面是对标题、描述、标签和部分内容的详细解释: SQL 基本概念 SQL(Structured Query Language)是一种标准化的数据库...
#### 一、SQL Server 的安装与配置 **1. 安装步骤:** - **准备阶段:** 首先确保安装环境中满足SQL Server的最低硬件要求,并且操作系统兼容。 - **安装介质:** 获取SQL Server安装介质,通常为ISO镜像或安装包。...
这篇超有用的SQL笔记涵盖了多个关键知识点,包括数据检索、数据操作以及SQL查询的高级技巧。以下是对这些知识点的详细解释: 1. **限制查询结果数量**: - `SELECT TOP n * FROM 表名` 是SQL Server中获取前n行...
以上就是从给定文件中提取并总结出来的SQL知识点。通过这些基本操作的学习,可以很好地掌握Oracle数据库的基本使用方法。这些技能对于初学者来说至关重要,也是进一步深入学习数据库管理技术的基础。
总结来说,【谷粒商城(学习笔记) sql文件】的学习涵盖了数据库设计的基本原理,以及如何利用SQL来实现一个电子商务系统的数据管理。通过理解和实践这些SQL脚本,不仅可以加深对SQL语言的理解,也能为构建类似系统...
《LINQ to SQL 学习笔记》 LINQ (Language Integrated Query) 是.NET框架中引入的一项强大技术,它允许开发者使用熟悉的C#或VB.NET语言语法进行数据查询,而无需学习新的查询语言。LINQ to SQL是LINQ的一个特定实现...
以下是从“SQL语句笔记”中提炼的关键知识点: - **SELECT语句**:最常用的SQL语句之一,用于从数据库中检索数据。 - `SELECT * FROM table WHERE a = ''`:这表示从`table`中选取所有列,但只返回那些`a`列值为空...
### Oracle SQL 笔记知识点详解 #### 一、SQLPlus 命令及环境变量 Oracle_sid - **SQLPlus 命令位置**:在 Oracle 安装目录下的 `bin` 文件夹中,可以通过 SQLPlus 来执行 SQL 命令。 - **Oracle_sid 环境变量**:...
本文是对B站Mosh老师SQL三小时的课程笔记的总结,涵盖了SQL基础知识、SELECT语句、WHERE子句、逻辑操作符、IN操作符、BETWEEN操作符、LIKE操作符和REGEXP操作符等内容。 SQL基础知识 SQL(Structured Query ...
### Sqlserver2008 学习笔记精要 #### 第一章 SQL Server 基础 ##### 1. T-SQL 语句基础 - **创建数据库**: 使用 `CREATE DATABASE` 语句来创建一个新的数据库。例如: ```sql CREATE DATABASE 新数据库名; ``...
总结,"pl/sql学习笔记"涵盖了PL/SQL的各个方面,包括基本语法、数据类型、流程控制、存储过程、函数、异常处理、游标和事务管理。这些内容对于深入理解和使用Oracle数据库至关重要,也是提升数据库管理与开发技能的...
### Spark SQL 学习笔记知识点总结 #### 一、Spark SQL 概述 - **定义**:Spark SQL 是 Apache Spark 的一个模块,用于处理结构化数据。它提供了 DataFrame 和 Dataset API,以及支持 SQL 查询的能力。这些特性...
### SQL知识点总结学习笔记 #### 1. 软件生命周期各阶段与SQL的关系 - **需求分析阶段**:在这一阶段,主要任务是理解客户的需求,包括业务流程、数据处理等方面的需求。对于数据库设计来说,这个阶段非常重要,...