DISTINCT–在SELECT字句中使用关键字DISTINCT可消除重复行。
在SQL*Plus中,可以使用DESCRIBE 命令来查看表结构
BETWEEN...AND... 判断要比较的值是否在某一个范围内
in(集合;列表)判断要比较的值是否和集合列表中的任何一个值相等。
like 判断要比较的值是否满足部分匹配。_代表一个字符 % 代表任意字符 可以使用ESCAPE标识符实现对“%”和 “_”的查找
is null 判断要比较的值是否为空值NULL 。
and 逻辑与,用来连接多个条件表达式。如果每个条件表达式的结果都为TRUE,整个表达式的结果才为TRUE。
or 逻辑或,用来连接多个条件表达式。只要有1个条件表达式的结果为TRUE,整个表达式的结果就为TRUE
not 逻辑非,用来对条件表达式取反。TRUE取反为FALSE,FALSE取反为TRUE。
–NOT运算符还可以和BETWEEN…AND、LIKE、IS NULL一起使用
使用ORDER BY子句能对查询结果集进行排序
–ASC: 升序,默认值 DESC: 降序
–ORDER BY 子句必须写在SELECT语句的最后
LOWER('SQL Course') sql course
UPPER('SQL Course') SQL COURSE
INITCAP('SQL Course') Sql Course
•字符处理函数
–CONCAT(column1|expression1,column2|expression2)
•连接两个值 ,等同于||
–SUBSTR (column|expression,n1[,n2])
•返回第一个参数中,从第n1位开始,长度为n2的子串。
–如果n2省略,取第n1位开始的所有字符。
–如果n1是负值,表示从第一个参数的后面第abs(n1)位开始向右取长度为n2的子串。
–LENGTH(column | expression)
•取字符长度
–INSTR(s1,s2,[,n1],[n2])
•返回s1中,子串s2从n1开始,第n2次出现的位置。n1,n2默认值为1
–LPAD(s1,n1,s2)
•返回s1被s2从左面填充到n1长度后的字符串。
–RPAD(s1,n1,s2)
•返回s1被s2从右面填充到n1长度后的字符串。
–TRIM:去除字符串头部或尾部(头尾)的字符
格式:TRIM(leading | trailing | both trim_character From trim_source)
–REPLACE(s1,s2,s3)
•把s1中的s2用s3替换。
内连接 : 能匹配上的就连 匹配不上的就丢掉
外连接 : 表关系怎么体现
左外连接 右外连接 全连接
左边全都有数据 右边全都有数据
主动表 数据没有丢失全部出现的就是主动表 把有g有关联的数据 他们连接在一起 自连接join 把同一表中俩行数据放到一行中
表间关系 用主键和外键 一对多 ( primary key )PK (foregin key ) fk
主键列里面的值具有唯一性 主键不能为空
主键和外键可以在一个表中出现
serect执行语句过程
通过FROM子句找到需要查询的表(找数据源)
通过where对分组进行筛选操作(找条件 对非分组的函数进行筛选)
通过Group BY 子句完成分组操作
通过HAving 子句完成组函数的筛选条件(对分组函数进项限制)
通过select子句选择显示的列或者表达式组函数
通过oracle BY 子句进行排列操作
对表中一组记录进行操作 每组只返回一个值