SQL学习笔记

玉官
• 阅读 1865

SQL笔记

@(学习笔记)

基本语法

// 查询语句,select * from 表名称,表示选取所有列
SELECT 列名称 FROM 表名称

// 关键词 DISTINCT 用于返回唯一不同的值。
SELECT DISTINCT 列名称 FROM 表名称

// 有条件的选取数据
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值

// AND 和 OR 运算符,可以在where子语句中把多个条件连接起来
SELECT * FROM Test WHERE cond1='A' AND cond2='B'
SELECT * FROM Test WHERE cond1='A' OR cond2='B'

// 根据指定的列对结果集进行排序,ORDER BY
SELECT Company, OrderNumber FROM Orders ORDER BY Company
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC // 降序
SELECT Company, OrderNumber FROM Orders ORDER BY Company ASC // 升序

// INSERT INTO,向表格中插入新的行
INSERT INTO 表名称 VALUES (值1, 值2,....)
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....) // 指定插入数据的列

// UPDATE,修改表中的数据
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

// DELETE,删除表中的行
DELETE FROM 表名称 WHERE 列名称 = 值
DELETE * FROM table_name // 删除所有行

高级语法

// TOP子句,规定要返回的记录的数目,在mysql中使用limit子句
SELECT column_name(s) FROM table_name LIMIT number

// LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern
SELECT * FROM Persons WHERE City LIKE 'N%' // "%" 可用于定义通配符(模式中缺少的字母)。

// SQL通配符
% ----- 替代一个或多个字符
_ ----- 仅替代一个字符
[charlist] ----- 字符列中的任何单一字符
[^charlist] ----- 不在字符列中的任何单一字符

// IN,IN 操作符允许我们在 WHERE 子句中规定多个值。
SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...)

// BETWEEN,操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。
SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2

// Alias,可以为列名称和表名称指定别名
SELECT column_name(s) FROM table_name AS alias_name // 表的alias用法
SELECT column_name AS alias_name FROM table_name // 给列定别名

// join,从多个表中获取数据
写法1:SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons, Orders WHERE Persons.Id_P = Orders.Id_P
写法2:SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons INNER JOIN Orders ON Persons.Id_P = Orders.Id_P ORDER BY Persons.LastName

函数

// AVG, AVG 函数返回数值列的平均值(null不计入)。
SELECT AVG(column_name) FROM table_name

// count,COUNT() 函数返回匹配指定条件的行数(null不计入)。
SELECT COUNT(column_name) FROM table_name

// FIRST()函数,FIRST() 函数返回指定的字段中第一个记录的值。
SELECT FIRST(column_name) FROM table_name

// LAST() 函数,LAST() 函数返回指定的字段中最后一个记录的值。
SELECT LAST(column_name) FROM table_name

// MAX() 函数,MAX 函数返回一列中的最大值。NULL 值不包括在计算中。
SELECT MAX(column_name) FROM table_name

// MIN() 函数,MIN 函数返回一列中的最小值。NULL 值不包括在计算中。
SELECT MIN(column_name) FROM table_name

// SUM() 函数,SUM 函数返回数值列的总数(总额)。
SELECT SUM(column_name) FROM table_name

// GROUP BY,合计函数 (比如 SUM) 常常需要添加 GROUP BY 语句。GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name

// HAVING 子句,在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value

// LEN函数,LEN 函数返回文本字段中值的长度。
SELECT LEN(column_name) FROM table_name
点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
4年前
SQL 常用函数使用
DISTINCT  Distinct去重复。性能上和GROUPBY差异据说有点点优势,GROUPBY存在毕竟不是用来去重的,GROUPBY用作分组,当然可以做去重动作selectDISTINCT列1,列2...from数据库.dbo.表名/结果:
Wesley13 Wesley13
4年前
SQL 删除外键列
一 SQL删除列的语句是:altertabletableNamedropcolumncolumnName(其中,tableName为表名,columnName为列名)但是,如果某列有约束时,不能直接删除,需要先删除约束,再删除列。如果某个列是外键,在不知道外键约束名称的情况下,那么首先是查找外键约束名称,根据名称删除约束,
皕杰报表实现下拉框联动
单击【摘要】视图中的按钮,弹出【新建数据集】对话框后,填写名称、选择数据源名称,选择类型,这里选择“SQL语句”,单击【下一步】,填写sql语句,本例中用到两个数据表“ds”表和“ds1”表,所建数据集sql分别编辑为:ds:select货主地区from订单groupby货主地区ds1:select货主城市,货主地区from订单grou
Wesley13 Wesley13
4年前
MySQL学习——查询表里的数据
MySQL学习——查询表里的数据摘要:本文主要学习了使用DQL语句查询表里数据的方法。数据查询语法1selectdistinct列1as'别名1',...,列nas'别名n'from表名2where表达式3group
Wesley13 Wesley13
4年前
MySQL数据查询(重点)
1.查询所有列  \为所有列select\fromtable\_name;2.查询指定列selectid,agefromtable\_name;3.查询时添加常量列本次查询有效,不会添加到表中,只显示 可以用as来命名本列名select'java0328'fromtable\_name;
Wesley13 Wesley13
4年前
mysql 学习笔记
1在使用多列作为主键时,上述条件必须应用到所有列,所有列值的组合必须是唯一的(但单个列的值可以不唯一)。2多条SQL语句必须以分号(;)分隔。3在选择多个列时,一定要在列名之间加上逗号4DISTINCT关键字作用于所有的列,不仅仅是跟在其后的那一列5返回特定数量的行:各种数据库中的这一SQ
Wesley13 Wesley13
4年前
mysql——GROUP BY和HAVING
GROUPBY语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表。select子句中的列名必须为分组列或列函数,列函数对于groupby子句定义的每个组返回一个结果。某个员工信息表结构和数据如下:  id  name  dept  salary  edlevel     hiredate   1  张
Wesley13 Wesley13
4年前
MySql系列(1)——单表查询
!(https://oscimg.oschina.net/oscnet/7f08f106e27b4f81a42e153520ed0c1c.png)1.查询所有字段SELECT\FROM表名称;例如查询book表中所有的数据:select\frombook;!(https:
Wesley13 Wesley13
4年前
MySQL学习笔记4——DQL
DQL(数据查询语言)一、基本查询1.字段(列)控制1)查询所有列SELECT\FROM表名;\"\"表示查询所有列2)查询指定列SELECT列1\,列2,...,列n\FROM表名;3)让完全重复的记录只显示一次当查询结果中的多行记录一模一样时,只显示一行。一般查询所有列时
小万哥 小万哥
2年前
SQL 查询优化指南:SELECT、SELECT DISTINCT、WHERE 和 ORDER BY 详解
SELECT关键字SQL的SELECT语句用于从数据库中选择数据。SELECT语句的基本语法如下:sqlSELECTcolumn1,column2,...FROMtablename;其中,column1,column2,等是您要从表中选择的字段名称,而ta
小万哥 小万哥
2年前
SQL ALTER TABLE 语句- 灵活修改表结构和数据类型
SQLALTERTABLE语句SQLALTERTABLE语句用于在现有表中添加、删除或修改列,也可用于添加和删除各种约束。ALTERTABLE添加列要在表中添加列,请使用以下语法:sqlALTERTABLE表名ADD列名数据类型;以下SQL向"Custom