网站ftp模板,百度竞价排名公式,网站调用优酷视频去除广告的方法,网站建设工作分解SQL特点SQL是大小写无关的#xff0c;但一般的习俗是#xff0c;关键字大写#xff08;SELECT WHERE#xff09;#xff0c;用户自定义的小写#xff0c;如表名。SQL如何注释#xff0c; 两个 -- 开头#xff0c;即为注释。SQL只用于关系型数据库#xff0c;如MySQL但一般的习俗是关键字大写SELECT WHERE用户自定义的小写如表名。SQL如何注释 两个 -- 开头即为注释。SQL只用于关系型数据库如MySQLNoSQL数据库不能用SQL去查询。尽管SQL有ISO的标准但各个厂商在实现上可能有微小的语法区别所以遇到这种情况要看自己所使用的数据库的SQL语法。什么是关系型数据库关系型数据库就是数据以关系的形式存储。例如下表这是一张student表记录的是学生的roll_no,name,address,phone,age。这就是关系学生的名字学生的地址等等。有一些专业术语。attribute 属性就是用来定义关系的如nameage等tuple元组或叫一组元素关系中的每一行叫一个tuple。tuple的原意是 a structure of data that has several parts 一个有多部分组成的数据结构一个tuple就是一行数据度 degree有几个属性就叫有几个度上面这个表有5个属性也就是 5度。Cardinality这个表有多少行Column 列。列表示有个属性的值的集合。下面这就是Roll_no 的列。查询语句分为三类1DDL Data Definition Language 数据定义语句用来定义数据库的结构如CREATE TABLE, ADD COLUMN, DROP COLUMN等2DML Data Manipulation Language 数据操作语句操作关系中的数据如 INSERT, DELETE, UPDATE等3DQL Data Query Language 数据查询语句select通常查询语句有以下四部分组成SELECT [DISTINCT] Attribute_List FROM R1,R2….RM[WHERE condition][GROUP BY (Attributes)[HAVING condition]][ORDER BY(Attributes)[DESC]];例句1 查询所有学生的Roll_No和名字SELECT ROLL_NO, NAME FROM STUDENT;例句2查询ROLL_NO大于2的学生的Roll_No和名字SELECT ROLL_NO, NAME FROM STUDENT WHERE ROLL_NO2;例句3如果想要获取全部属性可以使用* 代替 书写全部的属性SELECT * FROM STUDENT WHERE ROLL_NO2;例句4如果想要以age的升序来排序可以用order by子句SELECT * FROM STUDENT ORDER BY AGE;默认是按照升序排列的所以ORDER BY AGE等于ORDER BY AGE ASC如果要倒序改为ORDER BY AGE DESC例句5如果想要某个值只出现一次使用DISTINCTSELECT DISTINCT ADDRESS FROM STUDENT;AGGRATION FUNCTIONS 聚集函数常见的函数有count 用来计算有多少行sum 求属性的和还有 minmaxavg可以用所有的聚集函数只返回一行数据。GROUP By 用来将数据根据一个属性或者一组属性来分组。而且总是和聚集函数连用。例句6SELECT ADDRESS, SUM(AGE) FROM STUDENTGROUP BY (ADDRESS);SUM(AGE)不是按照所有的年龄求和而是按照分组后的年龄求和。例句7SELECT ROLL_NO, ADDRESS, SUM(AGE) FROM STUDENTGROUP BY (ADDRESS); 这个句子是错的应为每个地址中的学生的ROLL_NO是不一样的所以select从句后的属性 应该加上聚集函数让这个SQL查询有意义。所以当使用GROUP By的时候GROUP By中的属性可以出现在select中而不在GROUP By的部分需要使用集合函数。翻译自Structured Query Language (SQL) - GeeksforGeekswww.geeksforgeeks.org