SQL:查询学习笔记
SQL 查询命令
SELECT
语法
SELECT "column_name"
FROM "table_name";
返回一列
SELECT Username FROM Users
返回多列
SELECT Username, Password From Users
返回所有列
SELECT * FROM Users
DISTINCT
语法
SELECT DISTINCT "column_name"
FROM "table_name";
示例
SELECT DISTINCT Name FROM Users
WHERE
语法
SELECT "column_name"
FROM "table_name"
WHERE "condition";
示例
SELECT * FROM Users WHERE Username = ‘HappyFramework’
AND OR
语法
SELECT "column_name"
FROM "table_name"
WHERE "simple condition"
{ [AND|OR] "simple condition"}+;
AND 示例
SELECT * FROM Orders Where Sales >= 1000 AND Sales <= 5000
OR 示例
SELECT * FROM Orders Where Sales < 1000 OR Sales > 5000
IN
语法
SELECT "column_name"
FROM "table_name"
WHERE "column_name" IN ('value1', 'value2', ...);
示例
SELECT * FROM Users WHERE Username IN (Happyframework, shijiucha)
BETWEEN
语法
SELECT "column_name"
FROM "table_name"
WHERE "column_name" BETWEEN 'value1' AND 'value2';
示例
SELECT * FROM Orders WHERE Sales BETWEEN 1000 AND 5000
LIKE
语法
SELECT "column_name"
FROM "table_name"
WHERE "column_name" LIKE {PATTERN};
% 示例
SELECT * FROM Users WHERE Name LIKE '%光'
_ 示例
SELECT * FROM Users WHERE Name LIKE '段光_'
ORDER BY
语法
SELECT "column_name"
FROM "table_name"
[WHERE "condition"]
ORDER BY "column_name" [ASC, DESC] {, "column_name" [ASC, DESC]}+;
示例
SELECT * FROM Users ORDER BY Username ASC
带公式的示例
SELECT * FROM Orders ORDER BY Receipt - Refund
AVG
语法
SELECT AVG("column_name")
FROM "table_name";
示例
SELECT AVG(Sales) FROM Sales
COUNT
语法
SELECT COUNT("column_name")
FROM "table_name";
示例
SELECT COUNT(DISTINCT *) FROM Sales
MAX
语法
SELECT MAX ("column_name")
FROM "table_name";
示例
SELECT MAX(Sales) FROM Sales
MIN
语法
SELECT MIN ("column_name")
FROM "table_name";
示例
SELECT MIN(Sales) FROM Sales
SUM
语法
SELECT SUM ("column_name")
FROM "table_name";
示例
SELECT SUM(Sales) FROM Sales
GROUP BY
语法
SELECT "column_name1", "column_name2", ... "column_nameN", Function("column_nameN+1")
FROM "table_name"
GROUP BY "column_name1", "column_name2", ... "column_nameN";
示例
SELECT Customer, SUM(Sales) FROM Orders GROUP BY Customer
Having
语法
SELECT ["column_name1"], Function("column_name2")
FROM "table_name"
[GROUP BY "column_name1"]
HAVING (arithmetic function condition);
示例
SELECT Customer, SUM(Sales)
FROM Orders
GROUP BY Customer
HAVING SUM(Sales) > 10000
ALIAS
语法
SELECT "table_alias"."column_name1" "column_alias"
FROM "table_name" "table_alias";
示例
SELECT U.Username 用户名 FROM Users U
AS
语法
SELECT "table_alias"."column_name1" "column_alias"
FROM "table_name" "table_alias";
示例
SELECT U.Username AS 用户名 FROM Users AS U
INNER JOIN
语法
SELECT "column_name"
FROM "left_table_name"
INNER JOIN "right_table_name" ON "left_table_name"."left_column" = "right_table_name"."right_column";
示例
SELECT Categories.Name, News.Content
FROM News
INNER JOIN Categories ON News.CategoryId = Categories.Id
OUTER JOIN
语法
SELECT "column_name"
FROM "left_table_name"
OUTER JOIN "right_table_name" ON "left_table_name"."left_column" = "right_table_name"."right_column";
示例
SELECT Categories.Name, News.Content
FROM News
OUTER JOIN Categories ON News.CategoryId = Categories.Id
LEFT OUTER JOIN
语法
SELECT "column_name"
FROM "left_table_name"
LEFT OUTER JOIN "right_table_name" ON "left_table_name"."left_column" = "right_table_name"."right_column";
示例
SELECT Categories.Name, News.Content
FROM News
LEFT OUTER JOIN Categories ON News.CategoryId = Categories.Id
RIGHT OUTER JOIN
语法
SELECT "column_name"
FROM "left_table_name"
RIGHT OUTER JOIN "right_table_name" ON "left_table_name"."left_column" = "right_table_name"."right_column";
示例
SELECT Categories.Name, News.Content
FROM News
RIGHT OUTER JOIN Categories ON News.CategoryId = Categories.Id
CROSS JOIN
语法
SELECT "column_name"
FROM "left_table_name", "right_table_name";
示例
SELECT Categories.Name, News.Content
FROM News, Categories
UNION
语法
[SQL Statement 1]
UNION
[SQL Statement 2];
示例
SELECT Name FROM Users
UNION
SELECT * FROM Employees
UNION ALL
语法
[SQL Statement 1]
UNION ALL
[SQL Statement 2];
示例
SELECT Name FROM Users
UNION ALL
SELECT * FROM Employees
INLINE VIEW
语法
SELECT "column_name" FROM (Inline View);
示例
SELECT * FROM
(SELECT * FROM Users)
INTERSECT
语法
[SQL Statement 1]
INTERSECT
[SQL Statement 2];
示例
SELECT Txn_Date FROM Store_Information
INTERSECT
SELECT Txn_Date FROM Internet_Sales;
MINUS
语法
[SQL Statement 1]
INTERSECT
[SQL Statement 2];
示例
SELECT Txn_Date FROM Store_Information
MINUS
SELECT Txn_Date FROM Internet_Sales;
TOP
语法
SELECT TOP N [PERCENT] "column_name"
FROM "table_name";
示例
SELECT TOP 2 Store_Name, Sales, Txn_Date
FROM Store_Information
ORDER BY Sales DESC;
百分比示例
SELECT TOP 25 PERCENT Store_Name, Sales, Txn_Date
FROM Store_Information
ORDER BY Sales DESC;
SUBQUERY
语法
SELECT "column_name1"
FROM "table_name1"
WHERE "column_name2" [Comparison Operator]
(SELECT "column_name3"
FROM "table_name2"
WHERE "condition");
示例
SELECT SUM (Sales) FROM Store_Information
WHERE Store_Name IN
(SELECT Store_Name FROM Geography
WHERE Region_Name = 'West');
SELECT SUM (a1.Sales) FROM Store_Information a1
WHERE a1.Store_Name IN
(SELECT Store_Name FROM Geography a2
WHERE a2.Store_Name = a1.Store_Name);
EXISTS
语法
SELECT "column_name1"
FROM "table_name1"
WHERE EXISTS
(SELECT *
FROM "table_name2"
WHERE "condition");
示例
SELECT *
FROM Users
WHERE EXISTS (SELECT * FROM UserRoleRelations WHERE Users.Id = UserRoleRelations.UserId)
SIMPLE CASE
语法
SELECT CASE ("column_name")
WHEN "value1" THEN "result1"
WHEN "value2" THEN "result2"
...
[ELSE "resultN"]
END
FROM "table_name";
示例
SELECT Username, CASE (UserType)
WHEN 1 THEN "管理员"
WHEN 2 THEN "员工"
ELSE "未知"
FROM Users
SEARCHED CASE
语法
SELECT CASE
WHEN "condition1" THEN "result1"
WHEN "condition2" THEN "result2"
...
[ELSE "resultN"]
END
FROM "table_name";
示例
SELECT Username, CASE
WHEN UserType = 1 THEN "管理员"
WHEN UserType = 2 THEN "员工"
ELSE "未知"
FROM Users
SQL:查询学习笔记的更多相关文章
- 【SQL Server学习笔记】Delete 语句、Output 子句、Merge语句
原文:[SQL Server学习笔记]Delete 语句.Output 子句.Merge语句 DELETE语句 --建表 select * into distribution from sys.obj ...
- SQL查询(笔记2——实体查询)
SQL查询(笔记2——实体查询) 二.实体查询 如果查询返回了某个数据表的全部数据列,且该数据表有对应的持久化类映射,我们就把查询结果转换成实体查询.将查询结果转换成实体,可以使用SQLQuery提供 ...
- SQL server2005学习笔记(一)数据库的基本知识、基本操作(分离、脱机、收缩、备份、还原、附加)和基本语法
在软件测试中,数据库是必备知识,假期闲里偷忙,整理了一点学习笔记,共同探讨. 阅读目录 基本知识 数据库发展史 数据库名词 SQL组成 基本操作 登录数据库操作 数据库远程连接操作 数据库分离操作 数 ...
- sql查询学习和实践点滴积累
https://blog.rjmetrics.com/2008/10/28/correlated-subqueries-in-mysql/ http://www.mysqltutorial.org/m ...
- MVC中使用Entity Framework 基于方法的查询学习笔记 (二)
解释,不解释: 紧接上文,我们在Visual Studio2012中看到系统为我们自动创建的视图(View)文件Index.cshtml中,开头有如下这句话: @model IEnumerable&l ...
- 多线程处理慢sql查询小笔记~
多线程处理慢sql查询以及List(Array)的拆分 系统数据量不大,但是访问速度特别慢,使用多线程优化一下!!! 优化结果:访问时间缩短了十几秒 25s --> 8s 一.List的拆分: ...
- Java SQL注入学习笔记
1 简介 文章主要内容包括: Java 持久层技术/框架简单介绍 不同场景/框架下易导致 SQL 注入的写法 如何避免和修复 SQL 注入 2 JDBC 介绍 JDBC: 全称 Java Databa ...
- SQL之联合查询学习笔记
定义: 联合查询可合并多个相似的选择查询的结果集.等同于将一个表追加到另一个表,从而实现将两个表的查询组合到一起,使用谓词为UNION或UNION ALL. 语法格式 UNION 可以将两个或两个以上 ...
- sql注入学习笔记,什么是sql注入,如何预防sql注入,如何寻找sql注入漏洞,如何注入sql攻击 (原)
(整篇文章废话很多,但其实是为了新手能更好的了解这个sql注入是什么,需要学习的是文章最后关于如何预防sql注入) (整篇文章废话很多,但其实是为了新手能更好的了解这个sql注入是什么,需要学习的是文 ...
随机推荐
- vi/vim基本使用方法(转)
转自:http://www.cnblogs.com/itech/archive/2009/04/17/1438439.html vi/vim 基本使用方法 本文介绍了vi (vim)的基本使用方法,但 ...
- Alpine里的用户管理命令
注意噢,和普通的linux不一样的. 1, 建立一个指定GID的组: addgroup -g 10001 -S groupA 2, 建立一个指定UID的用户,指定shell, 让它属于指定的用户组. ...
- 一些你可能需要的okhttp实现
https://blog.csdn.net/qq_17766199/article/details/53186874 今天分享一些我在项目中使用到的okhttp实现,由简至难.(以下内容均在okhtt ...
- OS X 配置 Apache
1.去掉javascript:void(0);Include /private/etc/apache2/extra/httpd-vhosts.con的注释,以启用虚拟主机: 2.在<Direct ...
- 【51nod】1565 模糊搜索
题解 这个字符集很小,我们可以把每个字符拿出来做一次匹配,把第一个字符串处理每个出现过的该字符处理成一个区间加,即最后变成第一个字符串的该位置能够匹配某字符 例如对于样例 10 4 1 AGCAATT ...
- RabbitMQ 相关理论部分
集群配置方式 RabbitMQ可以通过三种方法来部署分布式集群系统,分别是:cluster,federation,shovel cluster: 不支持跨网段,用于同一个网段内的局域网 可以随意的动态 ...
- 004 Ajax中传输格式为JSON
一: 1.介绍 2.嵌套 3.json解析 4.优缺点 二:json功能程序测试 1.设计 2.程序 <!DOCTYPE html> <html> <head> & ...
- Ionic入门五:表单
一.输入框 list 类同样可以用于 input 元素.item-input 和 item 类指定了文本框及其标签. 1.输入框属性:placeholder 以下实例中,默认为100%宽度(左右两侧没 ...
- 12:输出1到n位最大整数
如果按照最简单的循环输出,会遇到边界问题,n非常大的话,int甚至long都不能满足需求,所以这里需要用数组或者是字符串来表示要输出的数字. 如果面试题给定了一个n位整数,那么就是大数问题,用字符串来 ...
- thinkphp中I()方法的详解
I('post.email','','email'); int boolean float validate_regexp validate_url validate_email validate_i ...