一、如何用MYSQL的IFNULL()编写一句完整的话?
mysql就应该是ifnull()。 select ifnull(a,0),ifnull(b,0),ifnull(c,0),ifnull(d,0) from admin; ----------------------------------------------------------------------------- 使用下面语句,rs.getString(a)应该不会报错: select ifnull(a,0) as a,ifnull(b,0) as b,ifnull(c,0) as c,ifnull(d,0) as d from admin;
二、数据库中查询语句的完整格式是什么?再举个例子说明一下~
一个基本查询的逻辑过程:
(8) SELECT (9) DISTINCT (11) <TOP_specification> <select_list>
(1) FROM <left_table>
(3) <join_type> JOIN <right_table>
(2) ON <join_condition>
(4) WHERE <where_condition>
(5) GROUP BY <group_by_list>
(6) WITH {CUBE | ROLLUP}
(7) HAVING <having_condition>
(10) ORDER BY <order_by_list>
--数字表示的是语句中部分的执行顺序。完全的结构语句如下列:
SELECT DISTINCT top 5 * FROM table1
left JOIN table2 ON (table1.id=table2.id)
WHERE table1.id>10
GROUP BY table1.id
HAVING table1.name like '张%'
ORDER BY name
三、在结构化查询语言中,根据对数据库不同的操作,结构化查询语言分为哪几种?分别执行哪些操作?举例说明。
SQL可分为5类:
l 查询语句
用于检索数据库表中存储的行。可以使用SQL的SELECT语句编写查询语句。
l 数据操纵语言(Data Manipulation Language, DML)语句
用于修改表的内容。DML语句有三种,分别为Insert,Update,Delete。
l 数据定义语言(Data Definition Language, DLL)语句
用于定义构成数据库的数据结构,例如表。DLL语句有5种基本类型:分别为
Create 创建数据库结构。
Alter 修改数据库结构。
Drop 删除数据库结构。
Rename 更改表名。
Truncate 删除表的全部内容。
l 事务控制语句(Transaction Control, TC)语句
用于将对行所作的修改永久性的存储到表中,或者取消这些修改操作。TC语句共有3种:
Commit 永久性的保存对行所作的修改。
Rollback 取消对行所作的修改。
SavePoint 设置一个“保存点”,可以将对行所作的修改回滚到此处。
l 数据控制语言(Data Control Language, DCL)语句
用于修改数据库结构的操作权限。DCL语句有两种:
Grant 授予其他用户对数据库结构(例如表)的访问权限。
REVOKE 防治其他用户访问数据库结构(例如表)。
(注:使用SQL*PLUS调用.sql文件的方法为,@C:\SQL\store_schema.sql)
四、SQL查询语句
select [你想查询的字段名] from SHEL;
五、SQL数据库中查询语句Order By和Group By有什么区别
首先说明SQL句子里面,order by 必须在group by 后面。没有group by就不能用order by .第二。group by是对数据的分组,order by 是对分组后的数据进行排序、
六、SQL中EXISTS怎么用
EXISTS用于检查子查询是否至少会返回一行e4b893e5b19e数据,该子查询实际上并不返回任何数据,而是返回值True或False
EXISTS 指定一个子查询,检测 行 的存在。
语法: EXISTS subquery
参数: subquery 是一个受限的 SELECT 语句 (不允许有 COMPUTE 子句和 INTO 关键字)。
结果类型: Boolean 如果子查询包含行,则返回 TRUE ,否则返回 FLASE 。
例表A:TableIn 例表B:TableEx
(一). 在子查询中使用 NULL 仍然返回结果集
select * from TableIn where exists(select null)
等同于: select * from TableIn
(二). 比较使用 EXISTS 和 IN 的查询。注意两个查询返回相同的结果。
select * from TableIn where exists(select BID from TableEx where BNAME=TableIn.ANAME)
select * from TableIn where ANAME in(select BNAME from TableEx)
(三). 比较使用 EXISTS 和 = ANY 的查询。注意两个查询返回相同的结果。
select * from TableIn where exists(select BID from TableEx where BNAME=TableIn.ANAME)
select * from TableIn where ANAME=ANY(select BNAME from TableEx)
NOT EXISTS 的作用与 EXISTS 正好相反。如果子查询没有返回行,则满足了 NOT EXISTS 中的 WHERE 子句。
结论:
EXISTS(包括 NOT EXISTS )子句的返回值是一个BOOL值。 EXISTS内部有一个子查询语句(SELECT ... FROM...), 我将其称为EXIST的内查询语句。其内查询语句返回一个结果集。 EXISTS子句根据其内查询语句的结果集空或者非空,返回一个布尔值。