sql学习笔记
SQL 高级教程
1.SQL Top语句。
Top子句用于规定要返回的记录的数目。对于拥有数千条记录的大型表来说,Top子句是非常有用的。
①mysql语法:
select column_name from table_name limit number.
例:select *from Persons limit 5.
②Oracle语法:
select column_name from table_name where rownum <= number.
例:select *from Persons where rownum <=5.
实例:
① select TOP 2 *from Persons.(表示将表中前两条数据取出)
②select top 50 PERCENT *from Persons.(表示取出表的50%的数据)
2.SQL Like 操作符。
LIKE 操作符用于在WHERE子句中搜索列中指定模式。
SQL Like 操作符语法:
SELECT column_name FROM table_name WHERE column_name LIKE pattern
LIKE 操作符实例:
①SELECT *FROM Persons WHERE City LIKE 'N%'
从“Persons”表中取出居住在以“N”开始的城市的人。
②SELECT *FROM Persons WHERE City LIKE '%g'
从“Persons”表中取出居住在以“g”结尾的城市的人。
③SELECT *FROM Persons WHERE City LIKE '%lon%'
从 "Persons" 表中选取居住在包含 "lon" 的城市里的人.
④SELECT * FROM Persons WHERE City NOT LIKE '%lon%'
从 "Persons" 表中选取居住在不包含 "lon" 的城市里的人
3.SQL 通配符
在搜索数据库中的数据时,SQL通配符可以替代一个或多个字符。SQL通配符必须与 LIKE 运算符一起使用。
通配符 描述
% 替代一个或多个字符
_ 仅替代一个字符
[charlist] 字符列中的任何单一字符
[^charlist]或[!charlist] 不在字符列中的任何单一字符
实例:
1.SELECT * FROM Persons WHERE City LIKE 'Ne%'
2.SELECT * FROM Persons WHERE City LIKE '%lond%'
3.SELECT * FROM Persons WHERE FirstName LIKE '_eorge'
从上面的 "Persons" 表中选取名字的第一个字符之后是"eorge" 的人
4.SELECT * FROM Persons WHERE LastName LIKE 'C_r_er'
从 "Persons" 表中选取的这条记录的姓氏以 "C" 开头,然后是一个任意字符,然后是"r",然后是任意字符,然后是 "er"
5.SELECT * FROM Persons WHERE City LIKE '[ALN]%'
从上面的 "Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人
6.SELECT * FROM Persons WHERE City LIKE '[!ALN]%'
从上面的 "Persons" 表中选取居住的城市不以 "A" 或 "L" 或 "N" 开头的人
4.SQL IN 操作符
IN 操作符允许我们在 WHERE 子句中规定多个值。
SQL IN 语法:
SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...)
IN 操作符实例:
1.SELECT * FROM Persons WHERE LastName IN ('Adams','Carter')
从上表中选取姓氏为 Adams 和 Carter 的人
5.SQL BETWEEN 操作符
BETWEEN 操作符在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围.
BETWEEN 操作符:
操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。
SQL BETWEEN 语法:
SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2.
BETWEEN 操作符实例:
1.SELECT * FROM Persons WHERE LastName BETWEEN 'Adams' AND 'Carter'
如需以字母顺序显示介于 "Adams"(包括)和 "Carter"(不包括)之间的人
2.SELECT * FROM Persons WHERE LastName NOT BETWEEN 'Adams' AND 'Carter'
如需使用上面的例子显示范围之外的人,请使用 NOT 操作符.