sql 语法大全2
2014-01-06 10:53
281 查看
AND/OR
l AND连接的条件必须都满足。
l OR连接的条件至少满足一个。
l 如:SELECT *
FROM products_tbl
WHERE cost > 10 and cost < 30
l 如:SELECT *
FROM products_tbl
WHERE prod_id = ‘7725’
or prod_id = ‘2345’
库函数
函数通常是列名或表达式相连系的命令。
1、统计函数
2、字符函数
3、算术函数
1、统计函数
l 统计函数:用于提供统计信息,如:累加、总和、平均值。
l 主要的统计函数:
l COUNT:统计行数或不为NULL的列数。
l SUM:求和。
l MAX:求最大值。
l MIN:求最小值。
l AVG:求平均值。
COUNT
语法:
COUNT[(*)|(DISTINCT|ALL|]COLUMN NAME)
注意:DISTINCT统计唯一的行;
DISTINCT不能用于COUNT(*),只能用
于COUNT(column_name)
举例:
SELECT COUNT(*)
FROM EMPLOYEE_TBL
统计雇员表中所有行数
SELECT COUNT(EMP_ID)
FROM EMPLOYEE_TBL
统计所有雇员身份证号
SELECT COUNT(DISTINCT SALARY)
FROM EMPLOYEE_PAY_TBL
统计唯一行数
SUM:仅用于数字类型。
语法:
SUM( [DISTINCT]COLUMN NAME)
举例:
SELECT SUM
(SALARY)
FROM EMPLOYEE_PAY_TBL
计算工资总和
SELECT SUM
(DISTINCT SALARY)
FROM EMPLOYEE_PAY_TBL
计算没有重复工资总和
AVG:确定一组数据的平均值
语法:
AVG([DISTINCT] COLUMN NAME)
举例:
SELECT AVG(SALARY)
FROM EMPLOYEE_PAY_TBL
计算工资的平均值
SELECT AVG(DISTINCTSALARY)
FROM EMPLOYEE_PAY_TBL
计算唯一的工资平均值
MAX和MIN
语法:
MAX( [DISTINCT]COLUMN NAME
)
MIN
( [DISTINCT]COLUMN NAME
)
举例:
SELECT MAX(SALARY)
FROM EMPLOYEE_PAY_TBL
计算最高的工资
SELECT MAX(DISTINCTSALARY)
FROM EMPLOYEE_PAY_TBL
计算最高的工资
例:表DTUDENT_TBL
l 数学平均值
l 总成绩最高值
l 语文成绩最低值
l 数学成绩总和
l 表中的数据行数
l 1. SELECT AVG(maths)
l FROM STUDENT_TBL
l 2. SELECT MAX(total)
l FROM STUDENT_TBL
l 3. SELECT MIN(comp)
l FROM STUDENT_TBL
l 4. SELECT SUM(maths)
l FROM STUDENT_TBL
l 5. SELECT COUNT(*)
l FROM STUDENT_TBL
2、字符函数
l UPPER(character string):将指定字符串中的小写字母换成大写字母。
l LOWER
(character string):将指定字符串中的大写字母换成小写字母。
l SUBSTRING
(colunm name,startposition,length)从指定字符串中取字符。
例:SELECT UPPER(CITY)
FROM EMPLOYEE_TBL
SELECT LOWER
(CITY)
FROM EMPLOYEE_TBL
SELECT SUBSTRING(EMP_ID,1,3)
FROM EMPLOYEE_TBL
SELECT SUBSTRING(EMP_ID,5,3)
FROM EMPLOYEE_TBL
3、算术函数
l ABS(绝对值)、SIN、COS、TAN、
EXP(指数)、SQRT(开方)、
POWER(幂)
l 语法:函数名(表达式)
l 例:SELECT SQRT(MATHS) * 10
FROM STUDENT_TBL
数据库更新语句
l INSERT
给表填充数据
l UPDATE
更新已存在的数据
l DELETE
删除表中的数据
INSERT
给表填充数据
l 语法:
l INSERT INTO table_name
VALUES(value1,value2,…...)
l 例:
products_tbl:prod_id varchar(10)
prod_desc varchar(25)
cost number(6,2)
输入数据:
INSERT INTOproducts_tbl
VALUES(‘7725’,’LEATHER’,26.99)
UPDATE
更新已存在的数据
l 语法:
l UPDATE table_name
SET column_name = ‘value’
[WHERE condition]
l 例:UPDATE products_tbl
SET prod_id = ‘1001’
WHERE prod_desc = ‘coat’
DELETE
删除表中的数据
l 语法:
l DELETE FROM table_name
[WHERE condition]
l 例:DELETEFROM products_tbl
WHERE prod_ID = ‘1001’
SQL数据定义语句
l 数据定义功能包括:基表、视图和索引的定义。
一、创建与删除基表
二、创建与删除视图
三、索引的建立与删除
一、创建与删除基表
l 创建基表语法:
l CREATE TABLE table_name
(col_name col_properties constraint
……
)
table_name
表名
col_name 列名
创建临时表:
l CREATE TABLE # table_name
(col_name col_properties constraint
……
)
删除一张表就是删除一张表定义及其所有与之相关连的数据、索引、触发器、约束和许可。
l 语法:
l DROP TABLEdatabasename.table_name
l 例:
l
DROP TABLE pubs.dbo.authors2
修改表结构语法:
l ALTER TABLE table_name
[modify][col_name col_properties]
[add][col_name col_properties]
[drop][col_name col_properties]
l 例:ALTER TABLEemployee_tbl
modify(emp_id varchar(10))
例:创建一雇员表(编号/C,姓名/C,住所/C,电话/N)。
l CREATE TABLE employee_tbl
(emp_id char(9) not null,
emp_name varchar(40) not null,
emp_city varchar(15) not null,
emp_phone number(10) null)
l AND连接的条件必须都满足。
l OR连接的条件至少满足一个。
l 如:SELECT *
FROM products_tbl
WHERE cost > 10 and cost < 30
l 如:SELECT *
FROM products_tbl
WHERE prod_id = ‘7725’
or prod_id = ‘2345’
库函数
函数通常是列名或表达式相连系的命令。
1、统计函数
2、字符函数
3、算术函数
1、统计函数
l 统计函数:用于提供统计信息,如:累加、总和、平均值。
l 主要的统计函数:
l COUNT:统计行数或不为NULL的列数。
l SUM:求和。
l MAX:求最大值。
l MIN:求最小值。
l AVG:求平均值。
COUNT
语法:
COUNT[(*)|(DISTINCT|ALL|]COLUMN NAME)
注意:DISTINCT统计唯一的行;
DISTINCT不能用于COUNT(*),只能用
于COUNT(column_name)
举例:
SELECT COUNT(*)
FROM EMPLOYEE_TBL
统计雇员表中所有行数
SELECT COUNT(EMP_ID)
FROM EMPLOYEE_TBL
统计所有雇员身份证号
SELECT COUNT(DISTINCT SALARY)
FROM EMPLOYEE_PAY_TBL
统计唯一行数
SUM:仅用于数字类型。
语法:
SUM( [DISTINCT]COLUMN NAME)
举例:
SELECT SUM
(SALARY)
FROM EMPLOYEE_PAY_TBL
计算工资总和
SELECT SUM
(DISTINCT SALARY)
FROM EMPLOYEE_PAY_TBL
计算没有重复工资总和
AVG:确定一组数据的平均值
语法:
AVG([DISTINCT] COLUMN NAME)
举例:
SELECT AVG(SALARY)
FROM EMPLOYEE_PAY_TBL
计算工资的平均值
SELECT AVG(DISTINCTSALARY)
FROM EMPLOYEE_PAY_TBL
计算唯一的工资平均值
MAX和MIN
语法:
MAX( [DISTINCT]COLUMN NAME
)
MIN
( [DISTINCT]COLUMN NAME
)
举例:
SELECT MAX(SALARY)
FROM EMPLOYEE_PAY_TBL
计算最高的工资
SELECT MAX(DISTINCTSALARY)
FROM EMPLOYEE_PAY_TBL
计算最高的工资
例:表DTUDENT_TBL
l 总成绩最高值
l 语文成绩最低值
l 数学成绩总和
l 表中的数据行数
l 1. SELECT AVG(maths)
l FROM STUDENT_TBL
l 2. SELECT MAX(total)
l FROM STUDENT_TBL
l 3. SELECT MIN(comp)
l FROM STUDENT_TBL
l 4. SELECT SUM(maths)
l FROM STUDENT_TBL
l 5. SELECT COUNT(*)
l FROM STUDENT_TBL
2、字符函数
l UPPER(character string):将指定字符串中的小写字母换成大写字母。
l LOWER
(character string):将指定字符串中的大写字母换成小写字母。
l SUBSTRING
(colunm name,startposition,length)从指定字符串中取字符。
例:SELECT UPPER(CITY)
FROM EMPLOYEE_TBL
SELECT LOWER
(CITY)
FROM EMPLOYEE_TBL
SELECT SUBSTRING(EMP_ID,1,3)
FROM EMPLOYEE_TBL
SELECT SUBSTRING(EMP_ID,5,3)
FROM EMPLOYEE_TBL
3、算术函数
l ABS(绝对值)、SIN、COS、TAN、
EXP(指数)、SQRT(开方)、
POWER(幂)
l 语法:函数名(表达式)
l 例:SELECT SQRT(MATHS) * 10
FROM STUDENT_TBL
数据库更新语句
l INSERT
给表填充数据
l UPDATE
更新已存在的数据
l DELETE
删除表中的数据
INSERT
给表填充数据
l 语法:
l INSERT INTO table_name
VALUES(value1,value2,…...)
l 例:
products_tbl:prod_id varchar(10)
prod_desc varchar(25)
cost number(6,2)
输入数据:
INSERT INTOproducts_tbl
VALUES(‘7725’,’LEATHER’,26.99)
UPDATE
更新已存在的数据
l 语法:
l UPDATE table_name
SET column_name = ‘value’
[WHERE condition]
l 例:UPDATE products_tbl
SET prod_id = ‘1001’
WHERE prod_desc = ‘coat’
DELETE
删除表中的数据
l 语法:
l DELETE FROM table_name
[WHERE condition]
l 例:DELETEFROM products_tbl
WHERE prod_ID = ‘1001’
SQL数据定义语句
l 数据定义功能包括:基表、视图和索引的定义。
一、创建与删除基表
二、创建与删除视图
三、索引的建立与删除
一、创建与删除基表
l 创建基表语法:
l CREATE TABLE table_name
(col_name col_properties constraint
……
)
table_name
表名
col_name 列名
创建临时表:
l CREATE TABLE # table_name
(col_name col_properties constraint
……
)
删除一张表就是删除一张表定义及其所有与之相关连的数据、索引、触发器、约束和许可。
l 语法:
l DROP TABLEdatabasename.table_name
l 例:
l
DROP TABLE pubs.dbo.authors2
修改表结构语法:
l ALTER TABLE table_name
[modify][col_name col_properties]
[add][col_name col_properties]
[drop][col_name col_properties]
l 例:ALTER TABLEemployee_tbl
modify(emp_id varchar(10))
例:创建一雇员表(编号/C,姓名/C,住所/C,电话/N)。
l CREATE TABLE employee_tbl
(emp_id char(9) not null,
emp_name varchar(40) not null,
emp_city varchar(15) not null,
emp_phone number(10) null)