1、MySQL中可以使用+、-、*、/。
1》但MySQL中没有提供字符串连接运算符,可以使用concat(a_str,'xxx')进行连接。
2》在算术表达式中使用null,将会导致整个算术表达式的返回值为null,在字符串连接中也是得到null的结果。
2、一些语法
1》可以给字段起别名,使用空格或者as然后跟字段别名。如果别名中有空格或者大小写敏感,可以通过为别名添加双引号来实现。
select e_id+5 "My id" from emp;
2》还支持以下形式
select 5+4;或者 select 4+5 from dual;
3》去除重复,使用distinct关键字。去除的是字段组合的重复值,如下面的例子,是e_id、e_name的字段组合是否重复。
select distinct e_id,e_name from emp;
4》比较运算符:>、>=、=、<=、<、<>,可以比较数值、字符串、日期之间的大小。
5》特殊的比较运算符。
运算符 | 含义 |
expr1 between expr2 and expr3 | 要求expr1>=expr2且expr2<=expr3 |
expr1 in(expr2,expr3,expr4,...) | 要求expr1等于后面括号里任意一个表达式的值 |
like | 字符串匹配,like后的字符串支持通配符 |
is null | 要求指定值等于null |
like主要用于模糊匹配,它有两个通配符:
1>下划线“_”:代表一个任意字符。
2>百分号“%”:代表任意多个字符。
6》转义字符,MySQL使用的是反斜杠“/”。如上面的两个通配符就可以使用反斜杠进行转义。
7》is null用于判断某些值是否为空,因为MySQL中null=null返回的是null,而不是布尔值。
8》MySQL提供and、or关键字进行条件的连接。使用not进行取否。
select t.e_name from emp t where not t.e_name like '\_%';
9》比较运算符、逻辑运算符的优先级
运算符 | 优先级(优先级小的优先) |
所有的比较运算符 | 1 |
not | 2 |
and | 3 |
or | 4 |
10》使用order by排序。默认是按asc排序,desc是降序关键字。排序列可以是列名、列序号、列别名。
order by column_name1 [desc],column_name1 [desc],...
设置多个排序列,每列的asc、desc必须单独设定,且第一个排序列是首要排序列,即先按照第一排序列排序后,才到第二排序列等等。