select语句
select column_name,column_name from table_name;
1
select * from table_name;
1
选取结果被储存在一个结果表中,称为结果集
select distinct语句
一个列中可能包含重复值,select distinct用于返回唯一不同值
select distinct column_name,column_name from table_name;
1
SQL Where字句
用于提取满足制定标准的记录
select column_name,column_name
from table_name
where column_name operator value;
1
2
3
在where子句中可以使用=,<>,<,>,>=,<=,between,like#搜索某种模式,in#指定针对某个列的多个可能值
and & or语句
and和or结合使用(使用圆括号来组成复杂的表达式)
select * from custormers
where country = 'Germany'
and (city = 'Berlin' or City = 'Beijing')
1
2
3
SQL order by关键字
用于对结果集按照一个列或多个列进行排序,默认按升序排序,若要用降序,可以使用desc关键字
select column_name,column_name
from table_name
order by column_name,column_name ASC|DESC
1
2
3
SQL insert into语句
用于向表中插入新记录
insert into table_name
values(value1,value2,value3,...)
1
2
insert into table_name(column1,column2,column3,...)
values(value1,value2,value3,...)
#会形成新行,但只在指定列插入数据,custormid列会自动更新
1
2
3
SQL update语句
用于更新表中的数据
update table_name
set column1=value1,column2=value2,...
where some_column=some_value
#通过where来限制更新行,缺失where语句会对整列都进行修改
1
2
3
4
SQL DELETE语句
用于删除表中的记录
delete from table_name
where some_column = some_value
1
2
delete from table_name;
or
delete * from table_name;
#删除表中所有数据
1
2
3
4
SQL select top,limit,rownum
用于规定要返回的记录的数目
#SQL Server / MS Access 语法
SELECT TOP number|percent column_name(s)
FROM table_name;
1
2
3
#MySQL 和 Oracle 中的 SQL SELECT TOP 是等价的
MySQL 语法
select column_name(s)
from table name
limit number;
1
2
3
4
5
#Oracle语法
select column_name(s)
from table_name
where rownum <= number;
1
2
3
4
SQL like 操作符
用于在where子句中搜索列中的指定模式
select column_name(s)
from table_name
where column_name like pattern;
1
2
3
SQL 通配符
通配符可用于代替字符串中的任何其他字符,在SQL中与SQL like操作符一起使用
通配符 描述
% 替代一个字符
_ centered
[charlist] 字符列中的任何单一字符
[^charlist] or [!charlist] 不在字符列中的任何单一字符
# %运用
SELECT * FROM Customers
WHERE City LIKE '%es%';
#_运用
SELECT * FROM Customers
WHERE City LIKE '_erlin';
# SQL[charlist]运用 选取以a、b、c开头的所有
SELECT * FROM Customers
WHERE City LIKE '[a-c]%';
#选取 City 不以 "b"、"s" 或 "p" 开始的所有客户
SELECT * FROM Customers
WHERE City LIKE '[!bsp]%';
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SQL in操作符
允许在where字句中规定多个值
select column_name(s)
from table_name
where colunmn_name in (value1,value2,...);
select column_name(s)
from table_name
where column_name in(select column from table_w3c where ...);
1
2
3
4
5
6
7
SQL between操作符
select column_name(s)
from table_name
where colunmn_name between value1 and value2;
1
2
3
SELECT * FROM Products
WHERE (Price BETWEEN 10 AND 20)
AND CategoryID NOT IN (1,2,3);
1
2
3
SQL join连接
SQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。
select table1_name.column_name(s),table2_name.column_name(s)
from table1_name
inner join table2_name
on table1_name.column = table2_name.column #基于表之间的共同字段相连接
1
2
3
4
INNER JOIN:如果表中有至少一个匹配,则返回行
LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行
FULL outer JOIN:只要其中一个表中存在匹配,则返回行
|
|