SQL連線查詢

2021-09-24 19:30:34 字數 2130 閱讀 5061

筆記區

多表連線查詢           

1,等值連線

select *from table1,table2

where table1.t1no=table2.t2no;

2,非等值

笛卡爾積

特點:查詢個數為乘積

作用:模擬大量資料

交叉連線

自連線內連線:把符合條件的查出來(以上都是內查詢)

外連線(可以把不存在員工的部門和員工也顯示出來,即顯示不滿足條件的)

左外連線:table1 left outer join table2 on +連線條件//只能將表一中不符合條件的也查出來

右外連線:table1 right outer join table2 on +連線條件//只能將表一中不符合條件的也查出來.

查所有部門下的員工:

select *from dept left outer join emp on emp.deptno=dept.deptno;

單行子查詢操作符:= > ,< ,>= ,<= 只能返回一行值

多行子查詢操作符:< all ,> all,=all,< any,> any ,=any,in。返回結果可以有多個。

分頁查詢

select * from emplimit start,length;

start 預設從0開始.

自增auto_increment 主鍵可以設為null自動生成1號。

**區

select ename,loc from emp e,dept d where e.deptno = d.deptno;

select ename,loc from emp e,dept d where e.deptno = d.deptno and loc = 'dallas';

select * from emp ,salgrade where sal >= losal and sal <=hisal;

<=>

select *from emp ,salgrade where sal between losal and hisal;

select * from emp,dept,salgrade

where sal >= losal and sal <=hisal and emp.deptno = dept.deptno and loc = 'dallas'; ///三表查詢。

select * from emp,dept;

select w.ename,w.mgr,m.empno,m.ename from emp w,emp m where w.mgr = m.empno;//自身連線

select * from dept d,emp e where e.deptno = d.deptno;

select * from dept left outer join emp on emp.deptno = dept.deptno

select * from emp where sal >all (select sal from emp where deptno = 30);

select * from emp where sal in (select sal from emp where deptno = 30);//返回多個值

select * from emp limit 8,4;

select * from emp order by sal desc limit 3;

create table student( id int primary key auto_increment,sage int ,sname varchar(32) not null,gender varchar(10) not null, score double,birthday date);

insert into student (id,sage,sname,gender,score,birthday) values(null,22,'zhangsan','male',98.99,'1999-09-09');

update emp set sal = sal+500 where deptno = 10

SQL 連線查詢

連線查詢是指乙個查詢同時涉及到兩個及以上的表。包括 等值連線,自然連線,非等值連線,自身連線,外連線,復合查詢.等.color red size large 1.等值連線 於非等值連線 size color 查詢每個學生及選課的情況 select student.sc.from student,sc...

sql連線查詢

sql連線查詢的連線查詢分為交叉連線 內連線 外連線。以下面兩張表為例演示連線查詢。a表 b表 分為左連線 右連線 完全外連線 左連線 left join 或left outer join select from a left outer join b on a.aid b.bid返回結果 返回a表...

SQL連線查詢

內連線 內連線將a表中的每一行和b表中的每一行進行比較,並找出滿足連線謂詞的組合。當連線謂詞被滿足,a和b中匹配的行會按列組合成結果集中的一行。連線產生的結果集,可以定義為首先對兩張表做笛卡爾積 交叉連線 將a中的每一行和b中的每一行組合,然後返回滿足連線謂詞的記錄。實際上,sql產品會盡可能用其他...