SQL select小结

SQL语言的分类:

<1>DQL(data query language):主要包括select语句,用于检索数据库中的数据;

<2>DML(data manipulation language):主要包括insert,update和delete语句,用于改变数据库中的数据;

<3>TCL(transaction control language):主要包括commit,rollback和savepoint语句,用于维护数据一致性;

<4>DDL(data definition language):主要包括create,alter和drop语句,用于建立、修改和删除数据库对象;

<5>DCL(data control language):主要包括grant和revoke两条命令,用于执行权限授予和收回。

SQL的编写规则:

<1>SQL关键字不区分大小写;

<2>对象名和列名不区分大小写;

<3>字符值区分大小写;

<4>分号表示SQL语句的结束。

下面我主要总结一下SQL中的DQL:

<1>简单查询:语句,select...from...

<2>筛选查询:select...from...where...,筛选主要体现在where之后跟的条件

<3>分组查询:select...from...[where...]...group by...,对group by之前的结果集进行分组;后面可接having子句,可对group by产生的结果集再次进行筛选。

<4>排序查询:order by,order by可对它所在的select语句的最终结果集进行排序

<5>多表关联查询:join(inner join)内连接,left join(left outer join)左外连接、right join(right outer join)右外连接,nutural join自然连接,cross join交叉连接;

我主要总结一下left join:执行过程,以on为匹配条件,以右表的为外层循环,右表读一行,左表遍历一遍,将匹配到的行顺序加入结果集,直到右表遍历结束。将左表不匹配的行,放到最后;右边不匹配的不放入结果集。

有什么不对的地方,请大家指出谢谢!

时间: 2024-08-11 03:32:01

SQL select小结的相关文章

sql update小结

以前update用的不少,但都是简单的单表操作,没有在意,最近查阅多表关联更新及更新top n,发现update还真灵活,记录如下(在mssqlserver2008r2下测试通过): 1单表操作  update table1 set col1=val[,col2=val2...] [where 条件表达式] 2多表关联操作 1)update 表名 set 列名 from 表1,表2 where 条件,此法源表(table1)不能用as别名,长表名很麻烦,如下: update table1 set

xss、SQL测试用例小结

xss测试用例小结: <script>alert("跨站")</script> (最常用)<img scr=javascript:alert("跨站")></img><img scr="javascript: alert(/跨站/)></img><img scr="javas????cript:alert(/跨站/)" width=150></im

Oracle 基本SQL SELECT语句

SELECT  *  |    {   [ DISTINCT  ]    column   |    expression   [   alias   ]  ,   ...    } FROM  table; ?SELECT  标识 选择哪些列. ?FROM    标识从哪个表中选择. column后面加上空格,同时跟上别名(alias),或者 as 别名,到下一行的内容时,要用逗号隔开, 默认的别名是小写的,如果想要让它是大写的,使用 "别名" 如果别名有多个单词的时候,用双引号别名

SQL SELECT INTO 语句

SQL SELECT INTO 语句可用于创建表的备份复件. SELECT INTO 语句 SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中. SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档. SQL SELECT INTO 语法 您可以把所有的列插入新表: SELECT * INTO new_table_name [IN externaldatabase] FROM old_tablename 或者只把希望的列插入新表: SELECT colu

SQL SELECT DISTINCT 语句

SQL SELECT DISTINCT 语句 在表中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值. 关键词 DISTINCT 用于返回唯一不同的值. 语法: SELECT DISTINCT 列名称 FROM 表名称 使用 DISTINCT 关键词 如果要从 "Company" 列中选取所有的值,我们需要使用 SELECT 语句: SELECT Company FROM Orders "Orders"表: Company

SQL SELECT 语句

SQL SELECT 语句 SELECT 语句用于从表中选取数据. 结果被存储在一个结果表中(称为结果集). SQL SELECT 语法 SELECT 列名称 FROM 表名称 以及: SELECT * FROM 表名称 注释:SQL 语句对大小写不敏感.SELECT 等效于 select. SQL SELECT 实例 如需获取名为 "LastName" 和 "FirstName" 的列的内容(从名为 "Persons" 的数据库表),请使用类似

SQL join小结

原来join=inner join,left/right/full join=left/right/full outer join. join/inner join仅返回匹配的 left outer join返回左边每一项,右边不匹配的就null,right反之 full outer join返回左右的,顺序由上到下先是匹配的,不匹配的在后面,表达式写在前的(A full outer join B中的A)也在前,不匹配的为null union必须有相同数量的列,并且列的数据类型要相似.默认取不同

sql SELECT时的with(nolock)选项说明

I used to see my senior developers use WITH (NOLOCK) when querying in SQL Server and wonder why they use. Now i explored it and found that it's useful to improve the performance in executing the query . However there is a disadvantage in using it. Th

SQL UNION 和 UNION ALL 操作符\SQL SELECT INTO 语句\SQL CREATE DATABASE 语句

SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 SELECT 语句中的列的顺序必须相同. SQL UNION 语法 SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2 注释:默认地,UNION 操作符选取不同的值.如果允许重复的