名词解释
SQL: Structured Query Language,结构化查询语言,是一种在关系型数据库中用于管理数据的标准语言。SQL是一种声明式编程语言,即只需表明需要什么而无需关注实现细节(C#中的LINQ也是如此)。
SQL方言:在SQL基础上延伸的其它语言,如SQL Server中所使用的T-SQL。
T-SQL:Transact-SQL,微软公司提供的用于SQL Server数据库的SQL方言(扩展)。
SQL表达式运算
谓词
SQL中谓词是指运算结果为True,False或Unknown的逻辑表达式。T-SQL中的谓词有IN,BETWEEN,LIKE等。
使用LIKE可以做模糊匹配,支持正则表达式:
-- 查找以x开头的nameSELECT name FROM Xfh.dbo.UserInfo WHERE name LIKE 'x%'; -- 查找以两个x开头的name,_表示匹配单个字符SELECT name FROM Xfh.dbo.UserInfo WHERE name LIKE '_x%';
需要注意的是,LIKE模糊匹配若以%开头,则无法使用所用。如:LIKE '%x'
运算符
SQL中的运算符与高级编程语言(C#,JAVA)类似。当多个运算符出现在同一表达式中时,SQL Server会按照运算符的优先级进行计算。当搞不清楚优先级就使用括号,对比下面两句SQL:
SELECT orderid FROM Sales.dbo.Orderes WHERE custid=1 AND empid IN (1,2,3) OR custid=85 AND empid IN (4,5,6) SELECT orderid FROM Sales.dbo.Orderes WHERE (custid=1 AND empid IN (1,2,3)) OR (custid=85 AND empid IN (4,5,6))

