您的当前位置:首页正文

SQL常用语句+举例

来源:个人技术集锦
SQL常用语句+举例

相关表:

Store_information表 Store_name Los Angeles San Diego Los Angeles Boston

Geography表 Region_name East East West West Store_name Boston New York LOS Angeles San Diego sales $1500 $250 $300 $700 date Jan-05-1999 Jan-07-1999 Jan-08-1999 Jan-08-1999 1. distinct: 剔除重复记录

例:select distinct stroe_name from Store_information 结果:

Store_name

Los Angeles

San Diego

Boston

2. And / or: 并且/或

例:在表中选出所有sales 高于$1000或是sales在$275及$500之间的记录

Select store_name ,sales from Store_information Where sales>1000

Or (sales>275 and sales <500) 结果: Store_name sales

Los Angeles 1500

San Diego 300

3. In(... , ...) :在括号内可以有一个或多个值

例:在表中查找store_name包含 Los Angeles 或San Diego的记录

Select * from Store_information where store_name in (‘Los Angeles’,’San Diego’) 结果: Store_name sales date Los Angeles San Diego Los Angeles $1500 $250 $300 Jan-05-1999 Jan-07-1999 Jan-08-1999

4. Between : 可以运用一个范围抓出表中的值

与in的区别:in 依照一个或数个不连续的值的限制抓出表中的值 例:查找表中介于Jan-06-1999 及Jan-10-1999 中的记录

Select * from Store_information where date between ‘Jan-06-1999’ and ‘Jan-10-1999’ 结果: Store_name San Diego Los Angeles Boston sales $250 $300 $700 date Jan-07-1999 Jan-08-1999 Jan-08-1999 补充:或采用例2中的方法 5. Like : 让我们依据一个套式来找出我们要的记录 套式通常包含:

’A_Z’: 所有以A开头,中间包含一个字符,以Z结尾的字串 ’ABC%’: 所有以ABC起头的字串 ’%XYZ’: 所有以XYZ结尾的字串 ’%AN%’: 所有包含AN的字串

例:Select * from Store_information where store_name like ‘%An%’ 结果: Store_name sales date Los Angeles San Diego Los Angeles $1500 $250 $300 Jan-05-1999 Jan-07-1999 Jan-08-1999 6. Order by: 排序,通常与ASC(从小到大,升序)、DESC(从大到小,降序)结合使用 当排序字段不止一个时,先依据字段1排序,当字段1有几个值相同时,再依据字段2排序 例:表中sales由大到小列出Store_information 的所有记录

Select Store_name, sales,date from Store_information order by sales desc 结果: Store_name Los Angeles Boston Los Angeles San Diego

7. 函数:AVG(平均值)、COUNT(计数)、MAX(最大值)、MIN(最小值)、SUM(求和) 语句:select 函数名(字段名) from 表名 例:求出sales的总和

Select sum(sales) from Store_information 结果: Sum(sales)

$2750

sales $1500 $700 $300 $250 date Jan-05-1999 Jan-08-1999 Jan-08-1999 Jan-07-1999 8. COUNT(计数)

例:找出Store_information表中 有几个store_name 值不是空的记录 Select count(store_name) from Store_information

Where store_name is not null

结果:

count(store_name)

4

补充说明:count和distinct经常合起来使用的目的是找出表中有多少个不重复的记录 例:找出表中有多少个不重复的store_name

Select count(distinct store_name) from Store_information 结果:

count(store_name) 3 9. Group by: 全组排列

例:算出每一个store_name对应的营业额

Select store_name,sum(sales) from Store_information

group by store_name 结果: store_name Los Angeles Boston San Diego sum(sales) $1800 $250 $700

10. HAVING:一般与group结合使用

语法:select 字段1,, sum(字段2) from 表名

Group by 字段1

Having(函数条件)

例:Select store_name,sum(sales) from Store_information

group by store_name

Having sum(sales) >$1500

结果:

store_name sum(sales)

Los Angeles $1800

11. Alias :别名,字段别名和表格别名

语法:select 字段名 AS 字段别名 from 表名 AS 表别名

例:select store_name AS store from Store_information AS S1 结果 : store Los Angeles San Diego Los Angeles Boston 12. 左连接/内部连接

例:查找每一区域的sales

Select A2.Region_name,A1.sales from Geography AS A2,Store_information AS A1

Where A1.store_name=A2.store_name

Group by A2.Region_name 结果: region

east

west

sales $700 $2050 13. 外部连接 : +

例:我们需要查找每一个店的营业额,如果我们用一个普通连接,就会漏掉 new york这个店,这时我们要用外部连接

Select A1.store_name ,sum(A2.sales) from eography AS A1,Store_information AS A2

Where A1.store_name=A2.store_name(+)

Group by A1.store_name

14. Creat table:创建表 Creat table custome (first_name char(50), Lat_name char(50), Birth_date date)

15. Creat view:创建视图 Creat view V_custome

AS select first_name,last_name from custome 16. Creat index:创建索引

Creat index idx_custome_last_name on custome(last_name) 17. Alter table:修改表 加一个字段:

Alter table custome add gender char(2) 删除一个字段:

Alter table custome drop gender

改变字段名称:

Alter table custome change first_name f_name char(50) 改变字段类型:

Alter table custome modify first_name char(30) 18. Primary key:主键,不能为空

Alter table custome add primary key(sid) 19. 外键:指向另一个表主键的字段 Creat table users (u_id int,

U_name char(20)) Primary key(u_id)

Foreign key(u_name) references custome(sid) 20. Truncate table 表名:清除表中数据 21. Insert into:向表中插入记录

Insert into stroe_information (store_name,sales,date) values (‘piny’,’$900’,’jan-10-1999’) 22. Update:更新记录 Update stroe_information Set sales=$600

Where store_name=’los angeles’ And date=’jan-08-1999’ 23. Delete:删除记录

Delete from stroe_information where store_name=’los angeles’

因篇幅问题不能全部显示,请点此查看更多更全内容