TOP子句:
mysql:SELECT * FROM PERSONS LIMIT 5;
oracle:SELECT *FROM PERSONS WHERE ROWNUM <= 5;
LIKE 和 NOT LIKE
SELECT * FROM PERSONS WHERE NAME LIKE ‘L%’
SELECT * FROM PERSONS WHERE NAME NOT LIKE '%L%';
%是通配符, -仅代表一个字符, [CHARLIST]字符列中的任何单一字符, ^charlist]
或者
[!charlist],不在字符列中的任何单一字符。
ps: 通配符只有 配合like有用。
IN:
当我们要查询的内容,能确定只在这几个值里面时可以使用“in”子句
SELECT * FROM PERSONS WHERE NAME IN('JIM', 'LILY');
BETWEEN操作:
BETWEEN 操作符在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围。
操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。
SELECT * FROM PERSONS WHERE NAME BETWEEN 'LILEI' AND 'LILY';
重要事项:不同的数据库对 BETWEEN...AND 操作符的处理方式是有差异的。某些数据库会列出介于 "Adams" 和 "Carter" 之间的人,但不包括 "Adams" 和 "Carter" ;某些数据库会列出介于 "Adams" 和 "Carter" 之间并包括 "Adams" 和 "Carter" 的人;而另一些数据库会列出介于 "Adams" 和 "Carter" 之间的人,包括 "Adams" ,但不包括 "Carter" 。
所以,请检查你的数据库是如何处理 BETWEEN....AND 操作符的!
BETWEEN 操作也可以结合NOT操作符来使用;
SELECT * FROM PERSOMS WHERE NAME NOT BETWEEN 'HEHE'AND 'HAHA';
Alias(别名):
通过使用 SQL,可以为列名称和表名称指定别名(Alias)。
为表使用别名:SELECT * FROM PERSONS AS P WHERE P.NAME='LILEI';
可简写:SELECT * FROM PERSONS P WHERE P.NAME='LILEI';
为列使用别名:SELECT NAME AS N FROM PERSONS;或 SELECT NAME N FROM PERSONS;
JOIN
SQL join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。
有时为了得到完整的结果,我们需要从两个或更多的表中获取结果。我们就需要执行 join。
数据库中的表可通过键将彼此联系起来。主键(Primary Key)是一个列,在这个列中的每一行的值都是唯一的。在表中,每个主键的值都是唯一的。这样做的目的是在不重复每个表中的所有数据的情况下,把表间的数据交叉捆绑在一起。
R表 S表 A B C D B E 1 a 3 2 c 7 2 b 6 3 d 5 3 c 7 1 a 3 自然连接怎么连接? 一、自然连接是第一步R×S结果是: A B C D B E 1 a 3 2 c 7 1 a 3 3 d 5 1 a 3 1 a 3 2 b 6 2 c 7 2 b 6 3 d 5 2 b 6 1 a 3 3 c 7 2 c 7 3 c 7 3 d 5 3 c 7 1 a 3 就是用R表中的每一项乘以S表中的每一项。 二、选择R.B=S.B的记录: R.A R.B R.C S.D S.B S.E 1 a 3 1 a 3 3 c 7 2 c 7 三、然后去掉相同且值也相同的B属性,最后R∞S的值为: A B C D E 1 a 3 1 3 3 c 7 2 7 最后不知道那个自然连接的符号输的对不。。
内连接: