数据库学习(1)----SQL语句学习

SQL查询的基本结构由三个子句构成:select/from/where/ 。查询的输入是关系,在这些关系上进行where和select子句中指定的运算,然后产生以关系作为结果。

3.3.1单关系查询

“找出所有教师的名字啊”---select name from instructor;

如果我们想要去除重复可以在select语句后面加入关键字distinct。

select子句还可以带含有+、-*、/运算符的算术表达式,运算的对象可以是元祖的属性。---select ID,name,salary*1.1 from instructor;

“找出CS系且工资超过70000美元的教师名字“

select name

from  instructor

where dep_name=’CS’ and salary>70000;

SQL 允许where子句中使用逻辑连词 and or not

3.3.2多关系查询

   ”找出所有的教师的名字,以及他们所在的系系名和建筑的名字“-select name,instructor.dept_name,building

                                                                                from instructor,department

                                                                                where instructor.dept_name=department.dept_name;

通常来说,一个SQl查询语言的含义可以理解为:

    1.为from子句中的关系列出笛卡尔积。

    2.在步骤1的结果上应用where子句产生的制定谓词。

    3.对于步骤2结果中的元祖,输出select子句指定的属性(表达式的结果或称为元祖分量)

3.3.3自然连接-natrue join

3.4.1 更名运算 –as

3.4.2 字符串运算

     百分号(%):匹配任意子串。

    下划线(_):匹配任意字符。

    模式是大小写敏感的,在字符上可以使用   like操作符实现模式匹配。使用escape关键词来定义转义字符。

like ‘ab\%cd%’escape’\’匹配所有以”ab%cd“开头的字符串。

在SQL1999中还提供similar to操作,它具备比like更强大的运算模式匹配能力。它的模式定义语法类似UNIX的正则表达式。

* 星号表示所有的属性。

3.4.4排列元祖的显示次序

select name

from instructor

where dept_name='Physics'

order by name;

order by 默认升序

posted @ 2016-03-16 13:46  日拱一卒,善也  阅读(233)  评论(0编辑  收藏  举报