SQL查询语句大全(一)

zuowen 0

SQL查询语句大全(一)l

sql所有查询的语句

下面内容供你参考

1.查看所有用户: select * from dba_users; select * from all_users; select * from user_users;

2.查看用户或角色系统权限直接赋值给用户或角色的系统权限: select * from dba_sys_privs; select * from user_sys_privs;

3.查看角色只能查看登陆用户拥有的角色所包含的权限sql>select * from role_sys_privs;

4.查看用户对象权限: select * from dba_tab_privs; select * from all_tab_privs; select * from user_tab_privs;

5.查看所有角色: select * from dba_roles;

6.查看用户或角色所拥有的角色: select * from dba_role_privs; select * from user_role_privs;

7.查看哪些用户有sysdba或sysoper系统权限查询时需要相应权限select * from V$PWFILE_USERS 比如我要查看用户 wzsb的拥有的权限:SQL> select * from dba_sys_privs where grantee='WZSB'; GRANTEE PRIVILEGE ADMIN_OPTION------------------------------ ---------------------------------------- ------------WZSB CREATE TRIGGER NOWZSB UNLIMITED TABLESPACE NO比如我要查看用户 wzsb的拥有的角色:SQL> select * from dba_role_privs where grantee='WZSB'; GRANTEE GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE------------------------------ ------------------------------ ------------ ------------WZSB DBA NO YES查看一个用户所有的权限及角色select privilege from dba_sys_privs where grantee='WZSB'unionselect privilege from dba_sys_privs where grantee in select granted_role from dba_role_privs where grantee='WZSB' ;求采纳为满意回答。

sql查询语句大全

一. 简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。

例如,下面的语句查询testtable表中姓名为"张三"的nickname字段和email字段。 SELECT nickname,emailFROM testtableWHERE name='张三'

一. 选择列表选择列表select_list指出所查询列,它可以是一组列名列表、星号、表达式、变量包括局部变量和全局变量等构成。

1.选择所有列例如,下面语句显示testtable表中所有列的数据: SELECT *FROM testtable

2.选择部分列并指定它们的显示次序查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。例如: SELECT nickname,emailFROM testtable

3.更改列标题在选择列表中,可重新指定列标题。定义格式为:列标题=列名列名 列标题如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题: SELECT 昵称=nickname,电子邮件=emailFROM testtable

4.删除重复行SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认为ALL。

使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。

5.限制返回的行数使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。例如:   SELECT TOP 2 *FROM testtableSELECT TOP 20 PERCENT *FROM testtable

二.FROM子句FROM子句指定SELECT语句查询及与查询相关的表或视图。

在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定:   SELECT username,citytable.cityidFROM usertable,citytableWHERE usertable.cityid=citytable.cityid在FROM子句中可用以下两种格式为表或视图指定别名:表名 as 别名表名 别名

二. FROM子句FROM子句指定SELECT语句查询及与查询相关的表或视图。

在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定:   SELECT username,citytable.cityidFROM usertable,citytableWHERE usertable.cityid=citytable.cityid在FROM子句中可用以下两种格式为表或视图指定别名:表名 as 别名表名 别名例如上面语句可用表的别名格式表示为:   SELECT username,b.cityidFROM usertable a,citytable bWHERE a.cityid=b.cityidSELECT不仅能从表或视图中检索数据,它还能够从其它查询语句所返回的结果集合中查询数据。

例如:   SELECT a.au_fname+a.au_lnameFROM authors a,titleauthor taSELECT title_id,titleFROM titlesWHERE ytd_sales>10000 AS tWHERE a.au_id=ta.au_idAND ta.title_id=t.title_id此例中,将SELECT返回的结果集合给予一别名t,然后再从中检索数据

三. 使用WHERE子句设置查询条件WHERE子句设置查询条件,过滤掉不需要的数据行。例如下面语句查询年龄大于20的数据:   SELECT *FROM usertableWHERE age>20WHERE子句可包括各种条件运算符:比较运算符大小比较:>、>=、=、<、<=、<>、!>、!<范围运算符表达式值是否在指定的范围:BETWEEN...AND...NOT BETWEEN...AND...列表运算符判断表达式是否为列表中的指定项:IN 项1,项

2......NOT IN 项1,项

2......模式匹配符判断值是否与指定的字符通配格式相符:LIKE、NOT LIKE空值判断符判断表达式是否为空:IS NULL、NOT IS NULL逻辑运算符用于多条件的逻辑连接:NOT、AND、OR

1.范围运算符例:age BETWEEN 10 AND 30相当于age>=10 AND age<=30

2.列表运算符例:country IN 'Germany','China'

3.模式匹配符例:常用于模糊查找,它判断列值是否与指定的字符串格式相匹配。可用于char、varchar、text、ntext、datetime和smalldatetime等类型查询。可使用以下通配字符:百分号%:可匹配任意类型和长度的字符,如果是中文,请使用两个百分号即%%。

下划线_:匹配单个任意字符,它常用来限制表达式的字符长度。方括号[]:指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。[^]:其取值也[] 相同,但它要求所匹配对象为指定字符以外的任一个字符。例如:限制以Publishing结尾,使用LIKE '%Publishing'限制以A开头:LIKE '[A]%'限制以A开头外:LIKE '[^A]%'

4.空值判断符例WHERE age IS NULL

5.逻辑运算符:优先级为NOT、AND、OR

四.查询结果排序使用ORDER BY子句对查询返回的结果按一列或多列排序。

ORDER BY子句的语法格式为:ORDER BY {column_name [ASC|DESC]} [,...n]其中ASC表示升序,为默认值,DESC为降序。ORDER BY不能按ntext、text和image数据类型进行排序。例如:   SELECT *FROM usertableORDER BY age desc,userid ASC另外,可以根据表达式进行排序。

二. 联合查询UNION运算符可以将两个或两个以上上SELECT语句的查询结果集合合并成一个结果集合显示,即执行联合查询。

UNION的语法格式为:   select_statementUNION [ALL] selectstatement[UNION [ALL] selectstatement][...n]其中selectstatement为待联合的SELECT查询语句。ALL选项表示将所有行合并到结果集合中。不指定该项时,被联合查询结果集合中的重复行将只保留一行。

联合查询时,查询结果的列标题为第一个查询语句的列标题。因此,要定义列标题必须在第一个查询语句中定义。要对联合查询结果排序时,也必须使用第一查询语句中的列名、列标题或者列序号。

在使用UNION 运算符时,应保证每个联合查询语句的选择列表中有相同数量的表达式,并且每个查询选择表达式应具有相同的数据类型,或是可以自动将它们转换为相同的数据类型。在自动转换时,对于数值类型,系统将低精度的数据类型转换为高精度的数据类型。在包括多个查询的UNION语句中,其执行顺序是自左至右,使用括号可以改变这一执行顺序。例如:查询1 UNION 查询2 UNION 查询

3.

三.连接查询通过连接运算符可以实现多个表查询。

连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。在关系数据库管理系统中,表建立时各数据之间的关系不必确定,常把一个实体的所有信息存放在一个表中。当检索数据时,通过连接操作查询出存放在多个表中的不同实体的信息。

连接操作给用户带来很大的灵活性,他们可以在任何时候增加新的数据类型。为不同实体创建新的表,尔后通过连接进行查询。连接可以在SELECT 语句的FROM子句或WHERE子句中建立,似是而非在FROM子句中指出连接时有助于将连接操作与WHERE子句中的搜索条件区分开来。所以,在Transact-SQL中推荐使用这种方法。

SQL-92标准所定义的FROM子句的连接语法格式为: FROM join_table join_type join_table[ON join_condition]其中join_table指出参与连接操作的表名,连接可以对同一个表操作,也可以对多表操作,对同一个表操作的连接又称做自连接。join_type 指出连接类型,可分为三种:内连接、外连接和交叉连接。内连接INNER JOIN使用比较运算符进行表间某些列数据的比较操作,并列出这些表中与连接条件相匹配的数据行。

根据所使用的比较方式不同,内连接又分为等值连接、自然连接和不等连接三种。外连接分为左外连接LEFT OUTER JOIN或LEFT JOIN、右外连接RIGHT OUTER JOIN或RIGHT JOIN和。

sql查询语句格式是什么?

sql查询语句格式是:select [列名]from [表名]where [条件] select * from table ,这种是最基本也是最常用的。结构化查询语言Structured Query Language简称SQL发音:/ˈes kjuː ˈel/ "S-Q-L",是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。1986年10月,美国国家标准协会对SQL进行规范后,以此作为关系式数据库管理系统的标准语言ANSI X

3. 135-198

6.,1987年得到国际标准组织的支持下成为国际标准。不过各种通行的数据库系统在其实践过程中都对SQL规范作了某些编改和扩充。

所以,实际上不同数据库系统之间的SQL不能完全相互通用。

sql查询语句?

SELECT语句的基本形式为SELECT[ALL|DISTINCT]<目标列表达式>[,<目标列表达式>···]FROM<表名或视图名>[,<表名或视图名>···][WHERE<条件表达式>]语句的功能是根据WHERE子句中的条件表达式,从基本表或视图中找出满足条件的元组,按SELECT子句中的目标列,选出元组中的目标列形成结果表。SQL语句对数据库的操作十分灵活方便,原因在于SELECT语句中的成分丰富多样,有许多可选形式,尤其是目标列和目标表达式,下面用例子来详细说明,例子涉及的是"学生-课程"数据库,其关系模式集如下:学生信息表StudentSNO,SNAME,SSEX,SBIRTHDAYCLASS教师信息表TeacherTNO,TNAME,TSEX,TBIRTHDAY,DEPART课程信息表CourseCNO,CNAME,TNO成绩表GradeSNO,CNO,DEGREE例题:查询Student表所有学生信息。

SELECT*FROMStudent;/*选择操作*/例题:查询Student表中所有学生的学号和姓名。SELECTSNO,SNAMEFROMStudent;/*投影操作*/例题:查询Grade表中成绩在60到80之间的所有记录。SELECT*FROMGradeWHEREdegreeBETWEEN60AND80;/*选择操作*/例题:查询Grade表中成绩为8

5.8

6.88的记录。SELECT*FROMGradeWHEREdegreeIN

8.5,86,8

8.;/*选择操作*/例题:查询所有学生的SNAME,CNAME和DEGREE。SELECTStudent.SNAME,Course.CNAME,Grade.DEGREEFROMStudent,Course,GradeWHEREStudent.SNO=Grade.SNO,Grade.CNO=Course.CNO;/*连接操作*/例题:查询"张旭"教师任课的学生成绩。

SELECTCNO,SNO,DEGREEFROMGradeWHERECNO=SELECTCourse.CNOFROMCourse,TeacherWHERECourse.TNO=Teacher.TNOandTeacher.TNAME="张旭"此查询操作为嵌套查询。子查询在上一级查询处理之前求解,即嵌套查询是从里向外处理的,这样,外层查询可以利用内层查询的结果,在此例中首先执行子查询:SELECTCourse.CNOFROMCourse,TeacherWHERECourse.TNO=Teacher.TNOandTeacher.TNAME="张旭"获得张旭老师讲授课程的课程号

8.0100

3.,然后执行外查询:SELECTCNO,SNO,DEGREEFROMGradeWHERECNO="801003"获得"张旭"教师任课的学生成绩。

怎么用sql语句查询?

一.用连接查询:SELECT * FROM Student INNER JOIN ScoreON Cno=2 AND Grade>=90

二.用子查询:SELECT * FROM Student WHERE Sno INSELECT Sno FROM Score WHERE Cno=2 AND Grade>90sql语句:结构化查询语言Structured Query Language简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;sql 语句就是对数据库进行操作的一种语言。

sql简单查询语句

1.首先打开数据库,建立好表。

2.然后查询全体教师的教师号、姓名、职称,并分别为三列指定别名:教师号、姓名、职称,如下图所示。

3.查询结果如下图所示。

4.接着查询所有姓张的学生的学号和姓名,如下图所示。

5.最后查询选修C1高等数学且成绩高于85分的学生的学号、课程号和成绩,如下图所示就完成了。

SQL查询语句有点复杂,sql的别名不能是查询出来的变量 如果直接用子查询的方法会报错。通过创建sql语句的方式来解决,先把几个辅助项的名称读到一个变量里然后再通过创建sql语句的方式去查询,代码如下:SET @fzx2 =SELECT 辅助项类别名称 FROM `flag` WHERE 辅助类别代码 = '辅助项2';SET @fzx4 =SELECT 辅助项类别名称 FROM `flag` WHERE 辅助类别代码 = '辅助项4';SET @fzx5 =SELECT 辅助项类别名称 FROM `flag` WHERE 辅助类别代码 = '辅助项5';SET @fzx6 =SELECT 辅助项类别名称 FROM `flag` WHERE 辅助类别代码 = '辅助项6';SET @strsql = concat'SELECT 辅助项2 AS ',@fzx2,',辅助项4 AS',@fzx4,',辅助项5 AS',@fzx5,',辅助项6 AS',@fzx6,' FROM data;';PREPARE res FROM @strsql;EXECUTE res ;只取了几个做例子,里面flag表指的是第一个图的,data表指的是第二个图的,只取了几个字段做表示其他的可以类比。

抱歉,评论功能暂时关闭!