易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : sql

深入浅出SQL之左连接、右连接和全连接

上节我们介绍了表连接,更确切的说是inner joins內连接.
  內连接仅选出两张表中互相匹配的记录.因此,这会导致有时我们需要的记录没有包含进来。
  为更好的理解这个概念,我们介绍两个表作演示。苏格兰议会中的政党表(party)和议员表(msp)。
party(Code,Name,Leader)
Code: 政党代码
Name: 政党名称
Leader: 政党领袖
msp(Name,Party,Constituency)
Name: 议员名
Party: 议员所在政党代码
Constituency: 选区
  在介绍左连接、右连接和全连接前,有一个数据库中重要的概念要介绍一下,即空值(NULL)。
  有时表中,更确切的说是某些字段值,可能会出现空值, 这是因为这个数据不知道是什么值或根本就不存在。
  空值不等同于字符串中的空格,也不是数字类型的0。因此,判断某个字段值是否为空值时不能使用=,<>这些判断符。必需有专用的短语:IS NULL 来选出有空值字段的记录,同理,可用 IS NOT NULL 选出不包含空值的记录。
  例如:下面的语句选出了没有领导者的政党。(不要奇怪,苏格兰议会中确实存在这样的政党)
SELECT code, name from party
WHERE leader IS NULL
  又如:一个议员被开除出党,看看他是谁。(即 ......

ORACLE PL/SQL与SQL SERVER T SQL一些比较

ORACLE PL/SQL与SQL SERVER T-SQL一些比较
字符串连接
Oracle用|| 符号作为连接符,而SQL Server的连接符是加号:+ 。
Oracle查询如下所示:Select ‘Name’ || ‘Last Name’ from tableName
SQL Server查询如下:Select ‘Name’ + ‘Last Name’
GUID
Oracle用SYS_GUID()生成GUID,不含{}和-;getregguidstring 生成 GUID 含{}和-;
SQL Server用NEWID生成GUID; 
数字取舍
Oracle数据库内有一个TRUNC函数,该函数返回m位十进制数的n位;如果省略m则n就是0位。m的值可以为负,表示截去小数点左边m位数字。
在SQL Server下可以用Round或者Floor。
Oracle查询如下所示:SELECT  TRUNC(15.79,1) "Truncate" from DUAL;
SQL Server查询如下:SELECT ROUND(15.79, 0) rounded , ROUND(15.79, 0,1) truncated
                                      SELECT FLOOR(ROUND(15.79, 0)), FLOOR(ROUND(15.79, 0 ......

ORACLE PL/SQL与SQL SERVER T SQL一些比较

ORACLE PL/SQL与SQL SERVER T-SQL一些比较
字符串连接
Oracle用|| 符号作为连接符,而SQL Server的连接符是加号:+ 。
Oracle查询如下所示:Select ‘Name’ || ‘Last Name’ from tableName
SQL Server查询如下:Select ‘Name’ + ‘Last Name’
GUID
Oracle用SYS_GUID()生成GUID,不含{}和-;getregguidstring 生成 GUID 含{}和-;
SQL Server用NEWID生成GUID; 
数字取舍
Oracle数据库内有一个TRUNC函数,该函数返回m位十进制数的n位;如果省略m则n就是0位。m的值可以为负,表示截去小数点左边m位数字。
在SQL Server下可以用Round或者Floor。
Oracle查询如下所示:SELECT  TRUNC(15.79,1) "Truncate" from DUAL;
SQL Server查询如下:SELECT ROUND(15.79, 0) rounded , ROUND(15.79, 0,1) truncated
                                      SELECT FLOOR(ROUND(15.79, 0)), FLOOR(ROUND(15.79, 0 ......

delphi_sql_游标分页_分页dbgrid查询

alter procedure qry_page
  @sqlstr nvarchar(4000),     --查询字符串
  @page int,                  --第N页
  @pagesize int               --每页行数
as
  declare @rscounts int       --记录总数
  declare @pages int          --页面总数
  set nocount on
  declare @P1 int --P1是游标的id
  exec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1,@RecordCount=@rscounts output
  set @pages = ceiling(1.0*@rscounts/@pagesize)
  if @page<=0 set @page=1
  if @page>@pages set @page=@pages
  --当前页面条数,不足一页
  declare @curpg_counts int  
  if @rscounts<@page*@pagesize
    set @curpg_counts=@rscounts-(@page-1)*@pagesize
  els ......

delphi_sql_游标分页_分页dbgrid查询

alter procedure qry_page
  @sqlstr nvarchar(4000),     --查询字符串
  @page int,                  --第N页
  @pagesize int               --每页行数
as
  declare @rscounts int       --记录总数
  declare @pages int          --页面总数
  set nocount on
  declare @P1 int --P1是游标的id
  exec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1,@RecordCount=@rscounts output
  set @pages = ceiling(1.0*@rscounts/@pagesize)
  if @page<=0 set @page=1
  if @page>@pages set @page=@pages
  --当前页面条数,不足一页
  declare @curpg_counts int  
  if @rscounts<@page*@pagesize
    set @curpg_counts=@rscounts-(@page-1)*@pagesize
  els ......

Orcale 的SQL 语句取得系统当前时间用:sysdate

Orcale 的SQL 语句取得系统当前时间用:sysdate
    当需要在系统当前日期上减去一天时可以用   sysdate-1
     附:当只对一定数量的记录感兴趣时可以如 rownum<100
select * from SLYC_CUSTINFO_T where indbtime>sysdate-1 and OFFICE_CODE='46' and rownum<100; ......

SQL 获取列名 利用系统表

SELECT sysobjects.name,syscolumns.name
from  sysobjects,syscolumns
WHERE(sysobjects.id=syscolumns.id)
select col_name(OBJECT_ID('staff'),17)
select name
from syscolumns
where id=object_id('你的表名'); ......

2种连接数据库和读取sql文件添加数据库和表

import java.io.*;
import java.sql.*;
public class DBConn {
 private String ADDRESS ;
 private int PORT ;
 private String DBNAME ;
 private String USERNAME ;
 private String PASSWORD ;
 private Connection conn ;
 private PreparedStatement pstmt ;
 private Statement stmt ;
 private ResultSet rs ;
 
 
 /***
  * 连接MYSQL数据库
  * @return
  */
 public Connection getMySqlConn(){
  try{
   ADDRESS = "127.0.0.1";
   PORT = 3306;
   DBNAME = "test";
   USERNAME = "root";
   PASSWORD = "123456";
   if(conn==null){
    Class.forName("com.mysql.jdbc.Driver");
    conn = DriverManager.getConnection("jdbc:mysql://"+ADDRESS+":"+PORT+"?user="+USERNAME+"&password="+PASSWORD+"&useUnicode=true&characterEncoding=utf8");
   }
 & ......
总记录数:4346; 总页数:725; 每页6 条; 首页 上一页 [215] [216] [217] [218] 219 [220] [221] [222] [223] [224]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号