第三章(2) SQL语言

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

TIJMU计算机教研室张鹏wangshi1573@163.comTIJMU计算机教研室张鹏wangshi1573@163.com数据库中的常用SQL语句本讲大纲:1、SELECT查询语句和条件语句2、排序,分组,指针查询,计算3、Insert插入语句4、Update更新语句5、Delete删除语句TIJMU计算机教研室张鹏wangshi1573@163.comTIJMU计算机教研室张鹏wangshi1573@163.com数据库中的常用SQL语句1、SELECT查询语句和条件语句SELECT查询字段FROM表名WHERE条件查询字段:可以使用通配符*、字段名、字段别名表名:数据库.表名,表名常用条件:=等于、不等于、in包含、notin不包含、like匹配BETWEEN在范围、notBETWEEN不在范围、条件运算:and、or、()TIJMU计算机教研室张鹏wangshi1573@163.comTIJMU计算机教研室张鹏wangshi1573@163.com数据库中的常用SQL语句2、排序,分组,指针查询,计算分组语句:groupby字段排序语句:orderby字段,字段ASC/DESC指针查询:limit初始值,结束值计算:COUNT(*)统计函数MAX(*)最大值函数MIN(*)最小值函数AVG(*)平均值函数SUM(*)累计值函数(∑)语句最后语句最后limit之前语句最后order之前TIJMU计算机教研室张鹏wangshi1573@163.comTIJMU计算机教研室张鹏wangshi1573@163.com数据库中的常用SQL语句3、Insert插入语句insertinto表名(字段…,…)values(值…,…)Insertinto表名values(值…,…)插入时须考虑清楚字段类型避免插入后出现缺值,乱码现象TIJMU计算机教研室张鹏wangshi1573@163.comTIJMU计算机教研室张鹏wangshi1573@163.com数据库中的常用SQL语句4、Update更新语句UPDATE表名SET字段=值WHERE条件【limit】可省略常用条件:=等于、不等于、in包含、notin不包含、like匹配BETWEEN在范围、notBETWEEN不在范围条件预算:and、or、()TIJMU计算机教研室张鹏wangshi1573@163.comTIJMU计算机教研室张鹏wangshi1573@163.com数据库中的常用SQL语句5、Delete删除语句DELETEFROM表名WHERE条件limit可省略常用条件:=等于、不等于、in包含、notin不包含、like匹配BETWEEN在范围、notBETWEEN不在范围条件预算:and、or、()TIJMU计算机教研室张鹏wangshi1573@163.comTIJMU计算机教研室张鹏wangshi1573@163.com数据库中的常用SQL语句练习表TIJMU计算机教研室张鹏wangshi1573@163.comTIJMU计算机教研室张鹏wangshi1573@163.com1.内连接:只连接匹配的行。2.左外连接:包含左边表的全部行(不管右边的表中是否存在与它们匹配的行),以及右边表中全部匹配的行3.右外连接:包含右边表的全部行(不管左边的表中是否存在与它们匹配的行),以及左边表中全部匹配的行4.全外连接:包含左、右两个表的全部行,不管另外一边的表中是否存在与它们匹配的行。5.交叉连接:生成笛卡尔积-它不使用任何匹配或者选取条件,而是直接将一个数据源中的每个行与另一个数据源的每个行都一一匹配MySql高级查询TIJMU计算机教研室张鹏wangshi1573@163.comTIJMU计算机教研室张鹏wangshi1573@163.com表Aidname1张三丰2周芷若3令狐冲表BidaddressA_id1武当12华山33明教10TIJMU计算机教研室张鹏wangshi1573@163.comTIJMU计算机教研室张鹏wangshi1573@163.com1.leftjoin左连接包容性:A表包容B表,左连接左表是全的.(leftjoin或leftouterjoin)SQL语句如下:SELECTA.name,B.addressFROMALEFTJOINBONA.id=B.A_id查询结果为:nameaddress张三丰武当周芷若NULL令狐冲华山TIJMU计算机教研室张鹏wangshi1573@163.comTIJMU计算机教研室张鹏wangshi1573@163.com2.rightjoin右连接包容性:B表包容A表,右连接右表是全的.(rightjoin或rightouterjoin)SQL语句如下:SELECTA.name,B.addressFROMARIGHTJOINBONA.id=B.A_id查询结果为:nameaddress张三丰武当周芷若峨眉NULL明教TIJMU计算机教研室张鹏wangshi1573@163.comTIJMU计算机教研室张鹏wangshi1573@163.com3.innerjoin内连接排他性:A,B表中至少有1个匹配时,才返回行。两表的交集。SQL语句如下:selectA.name,B.addressfromAinnerjoinBonA.id=B.A_id查询结果为:nameaddress张三丰武当周芷若峨眉innerjoin内连接等价于下面的sql:SELECTA.name,B.addressFROMA,BWHEREA.id=B.A_idTIJMU计算机教研室张鹏wangshi1573@163.comTIJMU计算机教研室张鹏wangshi1573@163.com4.fulljoin全连接全外连接返回参与连接的两个数据集合中的全部数据,无论它们是否具有与之相匹配的行。在功能上,它等价于对这两个数据集合分别进行左外连接和右外连接,然后再使用消去重复行的并操作将上述两个结果集合并为一个结果集。(fulljoin或fullouterjoin)SQL语句如下:select*fromAfulljoinB查询结果为:idnameidaddressA_id1张1北京12李1北京13王1北京11张2上海32李2上海33王2上海31张3南京102李3南京103王3南京10TIJMU计算机教研室张鹏wangshi1573@163.comTIJMU计算机教研室张鹏wangshi1573@163.com5.CROSSJOIN(不带条件where...)注释:返回3*3=9条记录,即笛卡尔积SQL语句如下:SELECT*FROMACROSSJOINB查询结果为:idnameidaddressA_id1张1北京12李1北京13王1北京11张2上海32李2上海33王2上海31张3南京102李3南京103王3南京10CROSSJOIN等价于:select*fromA,BTIJMU计算机教研室张鹏wangshi1573@163.comTIJMU计算机教研室张鹏wangshi1573@163.com效率问题:1.innerjoin比leftjoin快注:innerjoin内连接等价于下面的sql:SELECTA.name,B.addressFROMA,BWHEREA.id=B.A_id所以一般要用一般的连接就可以了(除非特殊需求)。

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功