SQL怎么连接查询2个表?

如:表一员工申请表ygsq,字段:id,标题,内容

表二管理人员审核表 ygsq_jl,字段:id,ygsq_id,审核内容

使用where语句进行查询,如:

select Emp.E_Id,Company.C_OraName from Emp,Company where Companey.C_Id=Emp.C_Id

但是往往会碰到比较复杂的语句,这时候使用where就不太合适了,其实SQL可以用较为直接的形式进行连接操作,可以在From子句中以直接的形式指出:

select top 10 E_Id,E_Name,C_Name 

from 

Emp join Companey on Companey.C_Id=Emp.C_Id 

where 

E_Id not in (select top 20 E_Id from Emp order by  E_Id  asc) 

order by E_Id asc

//查询表Emp中第21到第30条数据以升序排列,其中C_Name来自于另一个表

扩展资料:

SQL查询语句

1、获取当前数据库中的所有用户表select Name from sysobjects where xtype='u' and status>=0

2、获取某一个表的所有字段select name from syscolumns where id=object_id('表名')select name from syscolumns where id in (select id from sysobjects where type = 'u' and name = '表名')

3、查看与某一个表相关的视图、存储过程、函数select a.* from sysobjects a, syscomments b where a.id = b.id and b.text like '%表名%'

4、查看当前数据库中所有存储过程select name as 存储过程名称 from sysobjects where xtype='P'

5、查询用户创建的所有数据库select * from master..sysdatabases D where sid not in(select sid from master..syslogins where name='sa')

或者select dbid, name AS DB_NAME from master..sysdatabases where sid <> 0x01

6、查询某一个表的字段和数据类型select column_name,data_type from information_schema.columnswhere table_name = '表名'

温馨提示:内容为网友见解,仅供参考
第1个回答  2010-09-24
select * from ygsq b1 inner join ygsq_jl b2 on b1.id = b2.ygsql_id 这样就把两张表的所有数据都查询出来了。楼主还想怎么查?如果单纯的连接查询就是这样。
第2个回答  2010-09-24
select XXX from ygsq a,ygsq_ji b where a.id=b.ygsq_id
第3个回答  2010-09-24
inner join用法:
select * from ygsq as a inner join ygsq_jl as b
on a.id=b.ygsq_id

left join用法:
select * from ygsq as a left join ygsq_jl as b
on a.id=b.ygsq_id

right join用法:
select * from ygsq as a right join ygsq_jl as b
on a.id=b.ygsq_id

where用法:
select * from ygsq as a,ygsq_jl as b
where a.id=b.ygsq_id

希望回答对你有帮助。本回答被提问者采纳

SQL多表查询的几种连接方式
内连接(INNER JOIN)有两种,显式的和隐式的,返回连接表中符合连接条件和查询条件的数据行。(所谓的链接表就是数据库在做查询形成的中间表)。语句1:隐式的内连接,没有INNER JOIN,形成的中间表为两个表的笛卡尔积。SELECT O.ID,O.ORDER_NUMBER,C.ID,C.NAMEFROM CUSTOMERS C,ORDERS OWHERE C.ID=O.CUSTOMER_...

sql多表查询详解
1. 内连接:返回两个表中都存在匹配关系的记录。2. 左连接:返回左表所有记录和右表中匹配的记录,若右表没有匹配记录,则结果为NULL。3. 右连接:返回右表所有记录和左表中匹配的记录,若左表没有匹配记录,则结果为NULL。这是左连接的镜像操作。4. 全外连接:返回两个表中的所有记录,如果某...

如何用SQL语句的查询实现两个表之间的查询连接
一、用连接查询:SELECT * FROM Student INNER JOIN Score ON Cno=2 AND Grade>=90 二、用子查询:SELECT * FROM Student WHERE Sno IN(SELECT Sno FROM Score WHERE Cno=2 AND Grade>90)

SQL怎么查询两个表中不同的数据?
1、首先,打开sql查询器,连接上相应的数据库表,以查询c1表和c2表的name字段不同为例。2、点击“查询”按钮,输入:select c1.`name` from c1 left join c2 on c1.`name`=c2.`name` where c2.`name` is null union select c2.`name` from c2 left join c1 on c1.`name`=c2.`name...

SQL数据库里怎么让两个表想关联(数据库两个表如何关联)
有多种方法:1<左联:select列名fromGradeleftjoinClassonGrade.GradeID=Class.GradeID 2<右联:也是一样,只是left改为right 3<平级查询:select列名fromGrade,ClasswhereGrade.GradeID=Class.GradeID 当然,可能还有别的方法,有这些基本就行了 ...

连接两表查询结果的SQL语句
我现在需要将两个表里查询的结果结合到一个数据集里?是需要将结果放在一起,并且列的个数不变的话就使用 union(如果允许重复出现相同的记录就是用 union all);如果是需要将结果拼接起来(列的数目是两个表列数之和)就使用join将两个表拼接起来,^_^,不同的情况不同的处理,应该可以搞定!

SQL语句中两个表的连接
1、打开数据库管理工具,在数据库中新建两个表用于测试,这里,两个表的表结构要一样,分别建立TEST 和 TEST1。2、开启新的SQL查询窗口,创建一个存储过程。意思是将insert到TEST中的数据插入到TEST1中。3、单击‘执行’,一个名字为‘T’的触发就新建完成了。4、展开表结构,我们也能看见刚才新建的...

sql 怎么通过多个条件连接2张表
1、首先建两张表,分别插入数据。2、LEFT JOIN:左连接,即使右表中没有匹配,也从左表返回所有的行, 右表不匹配的用null 填充。3、RIGHT JOIN:右连接,即使左表中没有匹配,也从右表返回所有的行。4、FULL JOIN:完整外连接,只要其中一个表中存在匹配,则返回行。5、cross join: 交叉连接,...

如何用SQL同时对2张表进行查询
把两个表通过ID连接起来 让后加上条件 where a.()>100 and B.()>200 就可以了

俩个表之间没有ID联系,该怎么用sql语句查询呢?
没有ID联系的话, 假如又不加条件。 那么结果就是2个表的 排列组合。例如:CREATE TABLE [T1] (name varchar(10));go CREATE TABLE [T2](name varchar(10));go INSERT INTO T1 SELECT '东' UNION ALL SELECT '南' UNION ALL SELECT '西' UNION ALL SELECT '北'go INSERT INTO T2 SELECT...

相似回答