网站开发待遇怎么样,页面模板只能选择已发表的内容,数字经济最新消息,搜狗搜索推广一、数据查询语句
#xff08;1#xff09;select语句完整的句法select 目标表的列名或列表达式序列from 基本表名和#xff08;或#xff09;视图序列[ where 行条件表达式 ][ group by 列名序列[ having 组条件表达式 ] ][ order by 列名[ asc|desc ]#xff0c;… ]
1select语句完整的句法select 目标表的列名或列表达式序列from 基本表名和或视图序列[ where 行条件表达式 ][ group by 列名序列 [ having 组条件表达式 ] ][ order by 列名[ asc|desc ]… ]
2SQL语句的书写方式SQL 语句不区分大小写关键字不能简写或分行子句通常分行书写SELECT,FROM必须有
3DUAL 表
select sysdate from dual;
DUAL 表具有一个称为“X”的行一个称为“DUMMY”的列。
DUAL 表用于创建SELECT 语句并执行不与特定数据库表直接相关的命令。
4列别名
可用来重命名列标题有助于计算紧跟在列名后面列名和别名之间可以具有可选的关键字AS如果别名包含空格、特殊字符或者区分大小写则需要将别名放在双引号中
5NULL在SQL 中NULL 是一个有趣的词。要了解NULL您必须先弄清楚NULL 是什么以及NULL 不是什么。Null 指不可用、未分配、未知或不适用的值。
Null 不同于零或空格。在SQL 中零是一个数字而空格是一个字符。在条件语句中判断是否为null is null / is not null
6LIKE
百分比(%) 和下划线(_) 这两个符号称为通配符当需要完全匹配含有% 或_ 字符的字符串时需要指出% 或_ 不是通配符而是搜索项的一部分。ESCAPE 选项反斜杠(\) 用来表示_ 或% 是名称的一部分而不是通配符值。
7替代变量
有时可能需要以多个不同的值运行同一查询以获得不同的结果集。试想一下如果您需要查一个一个的用户的信息每次都要编写类似的语句会不会很麻烦呢变量名
注意仅用于SQL *Plus或者用于原理和SQL *Plus相同的开发工具
注Oracle中的替换变量变量名变量名
8单行函数
select to_char(sysdate,yyyy年mm月dd日) from dual;
注Oracle之单行函数二、多表格查询
定义将两个或两个以上的表格按照一定的关系连接起来进行查询。多表格查询分类
连接查询嵌套查询集合查询三、连接查询1等值连接查询
SELECT table1.column, table2.column...tablen.column
FROM table1, table2,..., tablen
WHERE table1.column1 table2.column2..and tablen-1.column1 tablen.column2;– 指定列所属的表格
– 列出所有要查询的表
– 表格关系在Where中指出n个表有n-1个等值关系式2两表连接查询例子查询商品信息显示类型名称。
select gname,gtname,gprice,gstocks
from t_goods,t_gtype
where t_goods.gtidt_gtype.gtid;
3外连接查询结果包含不符合连接条件的元组
左外连接
select pmid,pdate,sname,pstate from t_main_procure
a,t_supplier b where a.sidb.sid();四、嵌套查询 定义将一个查询语句嵌套在另一个查询语句的Where或Having中的查询语法
select select_listfrom tablewhere expr operator(select select_listfrom table);
查询本月有进货记录的供应商信息
select sid, sname
from t_supplier
where sid in (select sid from
t_main_procure
where to_char(pdate,yyyymm)to_char(sysdate,yyyymm));五、集合查询定义多个SELECT语句的结果进行集合操作分类
并操作 UNION交操作 INTERSECT差操作 MINUS
1并操作 UNION得到前后两个查询结果的和UNION查询结果不包括重复值
select pmid, sname, pdate, pdate, pamount , ’采购’
from t_main_procure a, t_supplier b
where a.sidb.sid
union
select omid,uname, odate,oamount,ostate,’订单’
from t_main_order a, t_user b
where a.uiidb.uiid;