分享

SQL语句

 源源阁 2017-07-08
很多初学Access的朋友都说sql 语句不会写,把它归纳为难点,不想写。其实不然,大家都知道sql 在查询中的作用非常非常的大,是不得放弃的模块。其实语法也是很简单,常用的就以下几种:

基本查询

SELECT column1,columns2,... FROM table_name
说明:把table_name 的特定栏位资料全部列出来

SELECT *
FROM table_name
WHERE column1 = xxx 
[AND column2 >yyy] [OR column3 <> zzz]
说明:
1.*表示全部的栏位都列出来
2.WHERE 之後是接条件式,把符合条件的资料列出来

SELECT column1,column2
FROM table_name
ORDER BY column2 [DESC]
说明:
ORDER BY 是指定以某个栏位做排序,[DESC]是指从大到小排列,若
没有指明,则是从小到大排列

组合查询
组合查询是指所查询得资料来源并不只有单一的表格,而是联合一个以上的表格才能够得到结果的。

SELECT *
FROM table1,table2
WHERE table1.colum1=table2.column1
说明:
1.查询两个表格中其中 column1 值相同的资料
2.当然两个表格相互比较的栏位,其资料形态必须相同
3.一个复杂的查询其动用到的表格可能会很多个


整合性的查询:

SELECT COUNT (*) 
FROM table_name
WHERE column_name = xxx
说明:
查询符合条件的资料共有几笔

SELECT SUM(column1)
FROM table_name
说明:
1.计算出总和,所选的栏位必须是可数的数字形态
2.除此以外还有 AVG() 是计算平均、MAX()、MIN()
计算最大最小值的整合性查询

SELECT column1,AVG(column2)
FROM table_name
GROUP BY column1
HAVING AVG(column2) >xxx
说明:
1.GROUP BY: 以column1 为一组计算 column2 的平均值
必须和 AVG、SUM 等整合性查询的关键字一起使用 
2.HAVING : 必须和 GROUP BY 一起使用作为整合性的限制

复合性的查询
SELECT *
FROM table_name1
WHERE EXISTS (
SELECT *
FROM table_name2
WHERE conditions )
说明:
1.WHERE 的 conditions 可以是另外一个的 query
2.EXISTS 在此是指存在与否

SELECT *
FROM table_name1
WHERE column1 IN (
SELECT column1 
FROM table_name2
WHERE conditions )
说明 
1. IN 後面接的是一个集合,表示column1 存在集合里面
2. SELECT 出来的资料形态必须符合 column1 条件的其他查询

SELECT *
FROM table_name1
WHERE column1 LIKE x% 
说明:
1.LIKE 必须和後面的x% 相呼应表示以 x为开头的字串

SELECT *
FROM table_name1
WHERE column1 IN (xxx,yyy,..)
说明 
1. IN 後面接的是一个集合,表示column1 存在集合里面

SELECT *
FROM table_name1
WHERE column1 BETWEEN xx AND yy
说明 
1. BETWEEN 表示 column1 的值介於 xx 和 yy 之间


更改资料:
UPDATE table_name
SET column1=xxx
WHERE conditoins
说明:
1.更改某个栏位设定其值为xxx
2.conditions 是所要符合的条件、若没有 WHERE 则
整个 table 的那个栏位都会全部被更改


删除资料:
DELETE FROM table_name
WHERE conditions
说明:删除符合条件的资料

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多