SQL中连接(3)——习题练习

-- 1.给下面的查询填空(使用<#>标记),以获得其后的结果。

SELECT e.emp_id, e.fname,e.lname,b.`name`

FROM employee e INNER JOIN <1> b

ON e.assigned_branch_id = b.<2>;

  结果如下:

--2.编写查询,返回所有非商务顾客的账户ID(customer.cust_type = ‘I‘)、顾客的联邦个人识别号码(customer.fed_id)以及账户所依赖的产品名称(product.name).

SELECT c.fed_id,p.`name`

FROM customer c

INNER JOIN account a

ON c.cust_id = a.cust_id

INNER JOIN product p

ON a.product_cd = p.product_cd

WHERE c.cust_type_cd = ‘I‘;

结果如下:

--3.构建查询,查找所有主管位于另一个部门的雇员,需要获取该雇员的ID、姓氏和名字

SELECT e.emp_id,sup.emp_id

FROM employee e

INNER JOIN employee sup

ON e.superior_emp_id = sup.emp_id

WHERE e.dept_id <> sup.dept_id;

结果如下图所示:

--4.编写一个查询,它返回所有产品名称及基于该产品的帐号(用account表里的product_cd列连接product表),查询结果需要包括所有的产品,及时这个产品没有客户开户

SELECT p.product_cd,p.`name`,a.account_id

FROM product p

LEFT JOIN account a

ON p.product_cd = a.product_cd;

结果如下图所示:

-- 5.利用其他外连接类型重写上面的例子,要求查询结果相同

SELECT p.product_cd,p.`name`,a.account_id

FROM account a RIGHT JOIN product p

ON  a.product_cd = p.product_cd;

结果如下图所示:

-- 6.编写一个查询,将account表与indiviual 和business 两个表外连接(通过account.cust_id列)要求结果集中每个账户一行,查询的列有account.account_id、account.product_cd、individual.fname,individual.lname和business.name

SELECT  a.account_id, a.product_cd,

i.fname,i.lname,b.`name`

FROM account a LEFT JOIN

business b

ON a.cust_id = b.cust_id

LEFT JOIN individual i

ON a.cust_id = i.cust_id;

结果如下图所示:

-- 7.设计一个子查询,生成集合{1,2,3......100}

SELECT ones.num + tens.num + 1

FROM (

SELECT 0 num UNION ALL

SELECT 1 num UNION ALL

SELECT 2 num UNION ALL

SELECT 3 num UNION ALL

SELECT 4 num UNION ALL

SELECT 5 num UNION ALL

SELECT 6 num UNION ALL

SELECT 7 num UNION ALL

SELECT 8 num UNION ALL

SELECT 9 num

)  AS ones CROSS JOIN (

SELECT 0 num UNION ALL

SELECT 10 num UNION ALL

SELECT 20 num UNION ALL

SELECT 30 num UNION ALL

SELECT 40 num UNION ALL

SELECT 50 num UNION ALL

SELECT 60 num UNION ALL

SELECT 70 num UNION ALL

SELECT 80 num UNION ALL

SELECT 90 num

) AS tens;

结果如下图所示:

........

时间: 2024-09-29 22:06:09

SQL中连接(3)——习题练习的相关文章

Eclipse中连接Sql Sever2008 -----转自Yogurshine

Eclipse中连接Sql Sever2008 -----转自Yogurshine 一 SQl Sever服务器配置 1我之前已经安装好SQL Sever 2008R2.(注意:安装一遍未成功时,一定要卸载干净,否则装不全,折腾好久) 2.连接服务器时一般都多个选择:(这个服务器名称,就是安装时设置的数据库实例,默认的实例有用户名MIT-PC和MTI-PC\SqLEXPRESS,有的安装好后只有用户名这个实例,不影响选择用户名实例就可以了.) 3. 一般JSP操作时多选择SQLexpress服务

转!!SQL左右连接中的on and和on where的区别

原博文地址:http://blog.csdn.net/xingzhemoluo/article/details/39677891 原先一直对SQL左右连接中的on and和on where的区别不是太了解,直到在网上看到了下面这段话才豁然开朗. 在使用left join时,on and和on where条件的区别如下:  1.on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录.  2.where条件是在临时表生成好后,再对临时表进行过滤的条件.这时已经没有le

【SQL】SQL中笛卡尔积、内连接、外连接的数据演示

SQL的查询语句中,常使用到内连接.外连接,以及连接的基础--笛卡尔积运算. 在简单的SQL中,也许我们还分辨清楚数据如何连接,一旦查询复杂了,脑子也犯浆糊了,迷迷糊糊的. 本文,简单以数据形式记录连接的数据结果,在迷糊时可翻阅. 以MySQL运行. > 原始的表 select * from t_user u; select * from t_address a; select * from t_phone p; > 笛卡尔积 select * from t_user, t_address;

SQL中设置 Orcle连接服务

EXEC sp_addlinkedserver @server='SXHIS', --被访问的服务器别名 @srvproduct='Oracle', --SqlServer默认不需要写 @provider='MSDAORA', --不同的库都是不一样的,OLE DB字符 @datasrc='dbserver'--要访问的服务器(注:该为sql服务器上的oracle配置文件tnsnames.ora里的别名) GO EXEC sp_addlinkedsrvlogin @rmtsrvname='SXH

sql中一个服务器建立另一个服务器的连接

EXEC sp_addlinkedserver 'TonyLink','','SQLOLEDB','111.111.1.111(服务器名)' EXEC sp_addlinkedsrvlogin 'TonyLink','false',NULL,'账号','密码' TonyLink 是固定的 SELECT *FROM TonyLink.ETLDB.dbo.aaaa sql中一个服务器建立另一个服务器的连接

linq to sql中修改连接字符串

如果在类库中在添加linq to sql并连接完数据库服务器后会自动生成settings.settings文件,app.config文件用于存储连接字符串(图一) 如要修改连接字符串要修改哪个还是要全部修改呢?经过我研究发现最简单只需要修改dbml一个文件即可,因为三者是关联的,dbml修改后其他两个文件会相应的修改,但是这是有顺序的:dbml.settings.settings和app.config,修改其中一个连接字符串会将之后文件中的连接字符串同步.否则逆向修改会麻烦一些比如修改了app.

VS2010中连接sql 2005连接问题microsoft.sqlserver.management.sdk.sfc

在VS2010中连接sql 2005时出现 无法添加数据连接.未能加载文件或程序集"microsoft.sqlserver.management.sdk.sfc,version=10.0.0.0,culture=neutral,publickeytokun=--"的错误 感谢这位朋友在http://www.lxway.com/4469119256.htm中提到 去到microsoft官方网站 https://www.microsoft.com/zh-cn/download/confir

SQL中的左连接与右连接,内连接有什么不同

SQL中的左连接与右连接,内连接有什么不同 我们来举个例子.天庭上面有一个管理系统:管理系统有个主表:主表记录着各个神仙的基本信息(我们把它当成表A).还有个表记录着他们这个神仙的详细信息(我们把它当成表B). 表A的信息为 idA name position 1 李靖 托塔天王 2 值年神李丙 四值功曹 3 增长天王 四大天王 4 青龙孟章神君 四方神 表B的信息为(此神仙有无犯过天条) IDB Name THINGS 1 NO 3 YES 上班玩忽职守 4 NO 5 NO 6 YES 调戏嫦

如何用PL/SQL Developer连接Oracle数据库

之前因为项目的原因需要使用Oracle数据库,由于时间有限没办法从基础开始学习,而且oracle操作的命令界面又太不友好,于是就找到了PL/SQL Developer这个很好用的软件来间接使用数据库. 下面简单介绍一下如何用这个软件连接Oracle数据库. 第一步 安装Oracle Database和PL/SQL Developer 这一步网上有很多的教程就不详细介绍.Oracle可以直接到官网去下载,在安装中注意几个问题就行: 1.一定要记住自己全局数据库名字和口令,这个在后面连接的时候很重要