Java课件 14-SQL入门学习资料.ppt
查询工资在2000-5000之间的员工。查询工资为3000,8000的员工。SELECTcolumn1,column2.column3.. FROM table; orderbycolumnasc|descOrderby指定排序的列,排序的列即可是表中的列名,也可以是select语句后指定的列名。Asc升序、Desc降序ORDERBY子句应位于SELECT语句的结尾。练习:对工资排序后输出。对姓李的员工工资排序输出使用orderby子句排序查询结果。Selectcount(*)|count(列名)fromtablename [WHEREwhere_definition]??练习:统计共有多少员工?统计工资大于3000的员工有多少个?Count(列名)返回某一列,行的总数Selectsum(列名){,sum(列名)…}fromtablename [WHEREwhere_definition]??练习:统计员工总工资?统计姓李的员工总工资?注意:sum仅对数值起作用,否则会报错。注意:对多列求和,“,”号不能少。Sum函数返回满足where条件的行的和Selectsum(列名){,sum(列名)…}fromtablename [WHEREwhere_definition]??练习:求员工平均工资?AVG函数返回满足where条件的一列的平均值Selectmax(列名)fromtablename [WHEREwhere_definition]??练习:求员工最高工资和最低工资(数值范围在统计中特别有用)Max/min函数返回满足where条件的一列的最大/最小值SELECTcolumn1,column2.column3..FROM table; groupbycolumn练习:统计男女员工的个数使用groupby子句对列进行分组ADDTIME(date2,time_interval)将time_interval加到date2CURRENT_DATE(?)当前日期CURRENT_TIME(?)当前时间CURRENT_TIMESTAMP()当前时间戳DATE(datetime)返回datetime的日期部分DATE_ADD(date2,INTERVALd_valued_type)在date2中加上日期或时间DATE_SUB(date2,INTERVALd_valued_type)在date2上减去一个时间DATEDIFF(date1,date2)两个日期差NOW(?)当前时间YEAR|Month|DATE(datetime)年月日CHARSET(str)返回字串字符集CONCAT(string2?[,...])连接字串INSTR(string,substring)返回substring在string中出现的位置,没有返回0UCASE(string2)转换成大写LCASE(string2)转换成小写LEFT(string2,length)从string2中的左边起取length个字符LENGTH(string)string长度REPLACE(str,search_str,replace_str)在str中用replace_str替换search_strSUBSTRING(str,position?[,length])从str的position开始,取length个字符LTRIM(string2)RTRIM(string2)trim去除前端空格或后端空格ABS(number2)绝对值BIN(decimal_number)十进制转二进制CEILING(number2)向上取整CONV(number2,from_base,to_base)进制转换FLOOR(number2)向下取整FORMAT(number,decimal_places)保留小数位数HEX(DecimalNumber)转十六进制LEAST(number,number2?[,..])求最小值MOD(numerator,denominator)求余RAND([seed])RAND([seed])定义主键约束primarykey:不允许为空,不允许重复altertabletablenamedro