
1、打开Microsoft SQL Server 2012,选中需要查询所有表的数据库。
2、选中需要查询的表后,点击左上角的“新建查询”,如图。
3、点击“新建查询”后,会在右边d出一个编辑框,我们需要在这里编写sql语句,来查询该数据库下的所有表结构。
4、编写sql语句,点击“执行”,当然,这表语句我们可以根据实际情况,来改变条件只查询需要的表名。
5、这时,会在右下方出现最终的查询结果,name即该库下所有的表名。
SQL多表查询语句的步骤如下:
我们需要准备的材料分别是:电脑、sql查询器。
1、首先,打开sql查询器,连接上相应的数据库表,例如m1表和m2表。
2、点击“查询”按钮,输入:selectmax(km)fromm1joinm2onm1md=m2mdwhereid=14andlx=15;。
3、点击“运行”按钮,此时查询到km的最大值为20。
SELECT语句的基本形式为
SELECT
[ALL|DISTINCT]<目标列表达式>[,<目标列表达式>···]
FROM
<表名或视图名>[,<表名或视图名>···]
[WHERE
<条件表达式>]
语句的功能是根据WHERE子句中的条件表达式,从基本表(或视图)中找出满足条件的元组,按SELECT子句中的目标列,选出元组中的目标列形成结果表。
SQL语句对数据库的 *** 作十分灵活方便,原因在于SELECT语句中的成分丰富多样,有许多可选形式,尤其是目标列和目标表达式,下面用例子来详细说明,例子涉及的是"学生-课程"数据库,其关系模式集如下:
学生信息表Student(SNO,SNAME,SSEX,SBIRTHDAY
CLASS)
教师信息表Teacher(TNO,TNAME,TSEX,TBIRTHDAY,DEPART)
课程信息表Course(CNO,CNAME,TNO)
成绩表Grade(SNO,CNO,DEGREE)
例题:查询Student表所有学生信息。
SELECT
FROM
Student;/选择 *** 作/
例题:查询Student表中所有学生的学号和姓名。
SELECT
SNO,SNAME
FROM
Student;/投影 *** 作/
例题:查询Grade表中成绩在60到80之间的所有记录。
SELECT
FROM
Grade
WHERE
degree
BETWEEN
60
AND
80;/选择 *** 作/
例题:查询Grade表中成绩为85、86、88的记录。
SELECT
FROM
Grade
WHERE
degree
IN(85,86,88);/选择 *** 作/
例题:查询所有学生的SNAME,CNAME和DEGREE。
SELECT
StudentSNAME,CourseCNAME,GradeDEGREE
FROM
Student,Course,Grade
WHERE
StudentSNO
=
GradeSNO,GradeCNO
=
CourseCNO;/连接 *** 作/
例题:查询"张旭"教师任课的学生成绩。
SELECT
CNO,SNO,DEGREE
FROM
Grade
WHERE
CNO=(SELECT
CourseCNO
FROM
Course,Teacher
WHERE
CourseTNO=TeacherTNO
and
TeacherTNAME="张旭")
此查询 *** 作为嵌套查询。子查询在上一级查询处理之前求解,即嵌套查询是从里向外处理的,这样,外层查询可以利用内层查询的结果,在此例中首先执行子查询:
SELECT
CourseCNO
FROM
Course,Teacher
WHERE
CourseTNO=TeacherTNO
and
TeacherTNAME="张旭"
获得张旭老师讲授课程的课程号(801003),然后执行外查询:
SELECT
CNO,SNO,DEGREE
FROM
Grade
WHERE
CNO="801003"
获得"张旭"教师任课的学生成绩。
以下语句 ,在SQL Server 中测试通过,如果你用的别的数据库,可能需要做其他调整
查询女职工平均工资不低于600元的车间名称。
select DNAME
from DEPT
where DEPTDNO in ( select DNO from EMP where SEX = '女' group by DNO having avg(SALARY) >= 600 )
查询各车间中平均工资最低的车间编号
select top 1 DNO
from EMP
group by DNO
order by avg(SALARY)
一、
简单查询
简单的transact-sql查询只包括选择列表、from子句和where子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。
例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。
select
nickname,email
from
testtable
where
name='张三'
(一)
选择列表
选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。
1、选择所有列
例如,下面语句显示testtable表中所有列的数据:
select
from
testtable
2、选择部分列并指定它们的显示次序
查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。
例如:
select
nickname,email
from
testtable
3、更改列标题
在选择列表中,可重新指定列标题。定义格式为:
列标题=列名
列名
列标题
如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题:
select
昵称=nickname,电子邮件=email
from
testtable
4、删除重复行
select语句中使用all或distinct选项来显示表中符合条件的所有行或删除其中重复的数据行,默认为all。使用distinct选项时,对于所有重复的数据行在select返回的结果集合中只保留一行。
5、限制返回的行数
使用top
n
[percent]选项限制返回的数据行数,top
n说明返回n行,而top
n
percent时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。
例如:
select
top
2
from
testtable
select
top
20
percent
from
testtable
(二)from子句
from子句指定select语句查询及与查询相关的表或视图。在from子句中最多可指定256个表或视图,它们之间用逗号分隔。
在from子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定:
select
username,citytablecityid
from
usertable,citytable
where
usertable
本篇文章来源于
黑软基地-中国最大的黑客教程计算机安全教程下载基地
原文链接:
>
貌似楼上的兄弟写的有些问题哦,lz试一下吧。有问题再追问吧。
1select t1sno,t1sname,t3score
from students t1,sports t2,attending t3
where t1sno=t3sno
and t2spno=t3spno
and t2spname in('滑轮','羽毛球');
2
select t1sno
from student t1
where not exists(select from student t2,attending t3
where t2sno=t3sno and t2sno='李磊'
and not exists(select from attending t4
where t4sno=t1sno and cspno=t3spno));
3
select t1sname,count(spno)
from student a,
(select t1sno,count(spno)
from student t1,attending t2
where t1sno=t2sno and t2score>85
group by t1sno
having count(spno)>=3)b
where asno=bsno;
以上就是关于怎样用SQL语句查询一个数据库中的所有表全部的内容,包括:怎样用SQL语句查询一个数据库中的所有表、SQL多表查询语句怎么写(mysql数据库多表查询的语法)、sql查询语句等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)