首先了解各符号的含义:
符号 | 含义 | SQL例子 |
U | 并 | select * from emp where emp_id=1 union select select * from emp where emp_id=2 |
- | 差 | select * from emp where emp_id not in (1,2,3) |
× | 笛卡尔积 | select * from emp,dept (两个表直接查) |
σ | 选择 | select * from emp where id=1 |
π | 投影 | select id ,name from emp |
实践例子:
π 1,2,3,8 ( σ 1=5 ^ 3=6 ( σ 2='职工姓名' ( R ) ×σ 4'部门名称'(S) ) )
π 1,2,3,8 这一部分的表示的是选择数据第1、2、3、8列显示 eg:
σ 1=5 ^ 3=6 表示:第1列的值和第5列的值相等,并且第3列和第6列值相同
( σ 2='职工姓名' ( R ) ×σ 4'部门名称'(S) ) 表示:emp_name='职工姓名'和dept_name='部门名字'条件筛选后两张表自然连接后生成的新表,σ 1=5 ^ 3=6就是取新生成的表里的数据
在整体的SQL语句中π充当着select id ,name from emp where id =1中 select 控制返回值作用
σ 充当着select id ,name from emp where id =1中 限制条件的作用
( R ) ( S ) 充当着select id ,name from emp where id =1中 数据来源
补充: σ1>5 (R×S) 表示
R.A < S.B 表示 R中A 的值与S中B的值一一比较
对比后发现只有R中 10 11 12 和 S中 3 7 11 ,4 7 6 符合
然后笛卡尔集,取第1, 5,6列