网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Sybase教程
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.Sybase与英国大东电报公司正式签.
.Sybase启动服务快车 打造行业服务.
.Sybase数据库修复及"sa"用户口令.
.Sybase ASE for Linux安装过程及.
.Sybase ASE 12.5数据库实用特性的.
.Sybase及SQL Anywhere SQL语句小.
.实例讲解如何将现有的Sybase逻辑.
.个人经验总结:Sybase数据库的全.
.常见数据库系统之比较 - SYBASE .
.ORACLE9i连接SYBASE的透明网关的.
.将Sybase C程序快速移植到Oracle.
.Sybase和Oracle安装过程中常遇到.
.Sybase与Oracle数据库文件的互相.
.使用Sybase数据库的现有表实现应.
.Sybase中不同实现方法间存在的性.
.实例讲解如何将现有的Sybase逻辑.
.讲解Sybase数据库截断和清空日志.
.Sybase数据库备份脚本需要Sybase.
.Sybase公司被评为全球“最佳雇主.
.Sybase按照一定顺序导出bcp out表.

Sybase及SQL Anywhere SQL语句小结

发表日期:2008-2-9


根据SQL Anywhere User's Guide所作小结。绝大部分都可用直接于Sybase数据库。   SELECT语句   SELECT *   FROM employee   SELECT *   FROM employee   ORDER BY emp_lname ASC   SELECT *   FROM employee   ORDER BY emp_lname DESC   SELECT emp_lname, dept_id, birth_date   FROM employee   SELECT *   FROM employee   WHERE emp_fname='John' (一定使用单引号)
  SELECT emp_fname, emp_lname, birth_date   FROM employee   WHERE emp_fname = 'John'   ORDER BY birth_date   SELECT emp_lname, birth_date   FROM employee   WHERE birth_date < 'March 3, 1964' (=、<、>、<=、>=、<>,加上AND与OR)   SELECT emp_lname, emp_fname   FROM employee   WHERE emp_lname LIKE 'br%' (%、_)   SELECT emp_lname, emp_fname   FROM employee   WHERE SOUNDEX( emp_lname ) = SOUNDEX( 'Brown' ) (找出英文中发音相同的记录,中文下用处不大)   SELECT emp_lname, birth_date   FROM employee
  WHERE birth_date BETWEEN '1965-1-1' AND '1965-3-31'   SELECT emp_lname, emp_id   FROM employee   WHERE emp_lname IN ('yeung', 'bUCceri', 'charlton')   连接表   SELECT *   FROM sales_order, employee   WHERE sales_order.sales_rep = employee.emp_id   SELECT E.emp_lname, S.id, S.order_date   FROM sales_order as S, employee as E   WHERE S.sales_rep = E.emp_id   ORDER BY E.emp_lname   连接两表的快捷键:KEY JOIN及NATURAL JOIN,最好用WHERE.   SELECT emp_lname, id, order_date
  FROM sales_order   KEY JOIN employee (主键与外部键对应的地方,就可以用KEY JOIN)   SELECT company_name,   CAST( SUM(sales_order_items.quantity * product.unit_price) AS INTEGER) AS value   FROM customer   KEY JOIN sales_order   KEY JOIN sales_order_items   KEY JOIN product   GROUP BY company_name   SELECT emp_lname, dept_name   FROM employee   NATURAL JOIN department (找出两表间有相同的字段名,进行连结)   集合   SELECT count( * )   FROM employee   SELECT   count( * ),
  min( birth_date ),   max( birth_date )   FROM employee (MIN, MAX, COUNT, AVG, SUM, LIST,作为单独的一列选出)   SELECT sales_rep, count( * )   FROM sales_order   GROUP BY sales_rep (在使用GROUP BY时,对于GROUP BY指定的字段,其每一个不同的值都会组成一行)   SELECT sales_rep, count( * )   FROM  sales_order   KEY JOIN employee   GROUP BY sales_rep   HAVING count( * ) > 55   更新数据库   INSERT   INTO department ( dept_id, dept_name, dept_head_id )   VALUES ( 220, 'Eastern Sales', 902 )   INSERT
  INTO department   VALUES ( 220, 'Eastern Sales', 902 )   UPDATE employee   SET dept_id = 400, manager_id = 1576   WHERE emp_id = 195   DELETE   FROM employee   WHERE termination_date IS NOT NULL   DELETE   FROM employee   WHERE LEFT( phone, 3 ) = '617' AND manager_id = 902   视图   CREATE VIEW emp_dept AS   SELECT emp_fname, emp_lname, dept_name   FROM employee   JOIN department ON department.dept_id = employee.dept_id   SELECT *
  FROM emp_dept   (视图能自动更新状态)   DROP VIEW emp_dept   CREATE VIEW emp_dept(FirstName, LastName, Department) AS   SELECT emp_fname, emp_lname, dept_name   FROM employee JOIN department ON department.dept_id = employee.dept_id   (创建视图不能使用ORDEY BY,但使用视图可以使用)   SELECT LastName, dept_head_id   FROM emp_dept, department   WHERE emp_dept.Department = department.dept_name (将视图与其他表进行进一步的连结)   视图权限治理   GRANT CONNECT TO M_Kelly IDENTIFIED BY SalesHead   CREATE VIEW SalesEmployee AS
SELECT emp_id, emp_lname, emp_fname FROM "dba".employee WHERE dept_id = 200   GRANT SELECT ON SalesEmployee TO M_Kelly   CONNECT USER M_Kelly IDENTIFIED BY SalesHead ; SELECT * FROM "dba".SalesEmployee   子查询   SELECT *   FROM sales_order_items   WHERE prod_id IN     ( SELECT id         FROM product         WHERE quantity < 20 )   ORDER BY ship_date DESC   SELECT *   FROM fin_data   WHERE fin_data.code = ANY (  SELECT fin_code.code
    FROM fin_code     WHERE type = 'revenue' ) (=ANY 相当于IN)   SELECT *   FROM fin_data   WHERE fin_data.code <> ALL (  SELECT fin_code.code     FROM fin_code     WHERE type = 'revenue' ) (相当于NOT IN)   SELECT   sales_order.id, sales_order.order_date,   ( SELECT company_name     FROM customer     WHERE customer.id = sales_order.cust_id )   FROM   sales_order   WHERE order_date > '1994/01/01'   ORDER BY order_date (假如其他表只要求产生一个字段,就可以使用子查询来代替连接)   SELECT company_name, state,   ( SELECT MAX( id )
    FROM sales_order     WHERE sales_order.cust_id = customer.id )   FROM customer   WHERE state = 'WA'   根据SQL Anywhere User's Guide所作小结。绝大部分都可用直接于Sybase数据库。   SELECT语句   SELECT *   FROM employee   SELECT *   FROM employee   ORDER BY emp_lname ASC   SELECT *   FROM employee   ORDER BY emp_lname DESC   SELECT emp_lname, dept_id, birth_date   FROM employee  
SELECT *   FROM employee   WHERE emp_fname='John' (一定使用单引号)   SELECT emp_fname, emp_lname, birth_date   FROM employee   WHERE emp_fname = 'John'   ORDER BY birth_date   SELECT emp_lname, birth_date   FROM employee   WHERE birth_date < 'March 3, 1964' (=、<、>、<=、>=、<>,加上AND与OR)   SELECT emp_lname, emp_fname   FROM employee   WHERE emp_lname LIKE 'br%' (%、_)   SELECT emp_lname, emp_fname   FROM employee   WHERE SOUNDEX( emp_lname ) = SOUNDEX( 'Brown' )
(找出英文中发音相同的记录,中文下用处不大)   SELECT emp_lname, birth_date   FROM employee   WHERE birth_date BETWEEN '1965-1-1' AND '1965-3-31'   SELECT emp_lname, emp_id   FROM employee   WHERE emp_lname IN ('yeung', 'bucceri', 'charlton')   连接表   SELECT *   FROM sales_order, employee   WHERE sales_order.sales_rep = employee.emp_id   SELECT E.emp_lname, S.id, S.order_date   FROM sales_order as S, employee as E   WHERE S.sales_rep = E.emp_id   ORDER BY E.emp_lname  
连接两表的快捷键:KEY JOIN及NATURAL JOIN,最好用WHERE.   SELECT emp_lname, id, order_date   FROM sales_order   KEY JOIN employee (主键与外部键对应的地方,就可以用KEY JOIN)   SELECT company_name,   CAST( SUM(sales_order_items.quantity * product.unit_price) AS INTEGER) AS value   FROM customer   KEY JOIN sales_order   KEY JOIN sales_order_items   KEY JOIN product   GROUP BY company_name   SELECT emp_lname, dept_name   FROM employee   NATURAL JOIN department (找出两表间有相同的字段名,进行连结)   集合   SELECT count( * )
  FROM employee   SELECT   count( * ),   min( birth_date ),   max( birth_date )   FROM employee (MIN, MAX, COUNT, AVG, SUM, LIST,作为单独的一列选出)   SELECT sales_rep, count( * )   FROM sales_order   GROUP BY sales_rep (在使用GROUP BY时,对于GROUP BY指定的字段,其每一个不同的值都会组成一行)   SELECT sales_rep, count( * )   FROM  sales_order   KEY JOIN employee   GROUP BY sales_rep   HAVING count( * ) > 55   更新数据库   INSERT   INTO department ( dept_id, dept_name, dept_head_id )
  VALUES ( 220, 'Eastern Sales', 902 )   INSERT   INTO department   VALUES ( 220, 'Eastern Sales', 902 )   UPDATE employee   SET dept_id = 400, manager_id = 1576   WHERE emp_id = 195   DELETE   FROM employee   WHERE termination_date IS NOT NULL   DELETE   FROM employee   WHERE LEFT( phone, 3 ) = '617' AND manager_id = 902   视图   CREATE VIEW emp_dept AS   SELECT emp_fname, emp_lname, dept_name   FROM employee
  JOIN department ON department.dept_id = employee.dept_id   SELECT *   FROM emp_dept   (视图能自动更新状态)   DROP VIEW emp_dept   CREATE VIEW emp_dept(FirstName, LastName, Department) AS   SELECT emp_fname, emp_lname, dept_name   FROM employee JOIN department ON department.dept_id = employee.dept_id   (创建视图不能使用ORDEY BY,但使用视图可以使用)   SELECT LastName, dept_head_id   FROM emp_dept, department   WHERE emp_dept.Department = department.dept_name (将视图与其他表进行进一步的连结)   视图权限治理   GRANT CONNECT TO M_Kelly
IDENTIFIED BY SalesHead   CREATE VIEW SalesEmployee AS SELECT emp_id, emp_lname, emp_fname FROM "dba".employee WHERE dept_id = 200   GRANT SELECT ON SalesEmployee TO M_Kelly   CONNECT USER M_Kelly IDENTIFIED BY SalesHead ; SELECT * FROM "dba".SalesEmployee   子查询   SELECT *   FROM sales_order_items   WHERE prod_id IN     ( SELECT id         FROM product         WHERE quantity < 20 )   ORDER BY ship_date DESC   SELECT *
  FROM fin_data   WHERE fin_data.code = ANY (  SELECT fin_code.code     FROM fin_code     WHERE type = 'revenue' ) (=ANY 相当于IN)   SELECT *   FROM fin_data   WHERE fin_data.code <> ALL (  SELECT fin_code.code     FROM fin_code     WHERE type = 'revenue' ) (相当于NOT IN)   SELECT   sales_order.id, sales_order.order_date,   ( SELECT company_name     FROM customer     WHERE customer.id = sales_order.cust_id )   FROM   sales_order   WHERE order_date > '1994/01/01'   ORDER BY order_date (假如其他表只要求产生一个字段,就可以使用子查询来代替连接)
  SELECT company_name, state,   ( SELECT MAX( id )     FROM sales_order     WHERE sales_order.cust_id = customer.id )   FROM customer   WHERE state = 'WA'   SELECT  company_name, MAX( sales_order.id ),state   FROM customer   KEY LEFT OUTER JOIN sales_order   WHERE state = 'WA'   GROUP BY company_name, state   系统表   SYSCATALOG,查看所有的表 SYSCOLUMNS, 查看表的字段属性   FROM customer   KEY LEFT OUTER JOIN sales_order   WHERE state = 'WA'   GROUP BY company_name, state  
系统表   SYSCATALOG,查看所有的表 SYSCOLUMNS, 查看表的字段属性
上一篇:SQL Server如何访问sybase数据库的表 人气:3294
下一篇:将Sybase C程序快速移植到Oracle Pro*C程序 人气:827
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐