`
yuanlanxiaup
  • 浏览: 860364 次
文章分类
社区版块
存档分类
最新评论

Sybase及SQL Anywhere SQL语句小结

阅读更多
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 JOINNATURAL 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
分享到:
评论

相关推荐

    恢复Sybase SQL Anywhere数据库的好方法

    SQLAnywhere的SQL语句基本上和SybaseAdaptiveServer一致;而且功能也相当强;PowerBuilder5.0以上的版本都自带一个SQLAnywhere。因此,对使用笔记本或单机的开发人员来说,选择SQLAnywhere作为数据库来开发应用程序...

    Repair For Sybase Sql Anywhere

    可以直接打开SyBase数据库,可查看数据库结构,但不能写SQL语句,也没有连接语句

    SQL语句生成及分析器

    包括小型(桌面)数据库:Fox DBF、Microsoft Execl、Text、Borland Paradox、Sybase SQL anywhere 中型数据库:Microsoft Access 大型数据库:Microsoft SQL Server、Sybase、Oracle 准备提供对DB2,informix,...

    SQL语句生成及分析器(中文绿色)

    大型数据库Oracle,Sybase(包括SQL AnyWhere),DB2,MS_SQL 中型数据库MS_Access,MySQL 桌面型数据库Paradox,DBF系列数据库,MS_Execl,Text 其他支持SQL 92标准的数据库 2、数据库的连接采用ADO连接,因此...

    SQL语句生成及分析器 v2.0

    支持绝大部分数据库,包括大型数据库Oracle,Sybase(包括SQL AnyWhere),DB2,MS_SQL中型数据库MS_Access,MySQL桌面型数据库Paradox,DBF系列数据库,MS_Execl,Text其他支持SQL 92标准的数据库

    sql语句生成与分析器

    大型数据库Oracle(包括Oracle Lite),Sybase(包括SQL AnyWhere),DB2,MS_SQL 中型数据库MS_Access,MySQL 桌面型数据库Paradox,DBF系列数据库,MS_Execl,Text 其他支持SQL 92标准的数据库

    sql语句生成与分析器.rar

    大型数据库Oracle(包括Oracle Lite),Sybase(包括SQL AnyWhere),DB2,MS_SQL 中型数据库MS_Access,MySQL 桌面型数据库Paradox,DBF系列数据库,MS_Execl,Text 其他支持SQL 92标准的数据库 2、数据库的连接...

    SqlDbx Personal Edition 4.11破解版(支持多窗口多连接)

    支持多窗口以、多连接及多结果输出,有限制的地方就是导出数据有限制,在生成数据库脚本的时候,只能导出10个对象,以及界面语言和格式化SQL语句等,但作为日常使用已经非常顺手,导结限制可以用复制粘贴代替。...

    dbrepair修复工具

    web.db,ais02.db,qxqp.db,muzu_jl.db, zl_pos.db,haird40.db等,因为ASA是在使用过程中,经常会出现损坏的情况,而市面上也没有ASA数据库修复工具,所以西西推出浪潮官方的修复单机版数据库sybase sqlanywhere的工具...

    DtSQL通用数据库管理工具

    Cache, DB2, Derby, Firebird, FrontBase, H2, HSQLDB, Informix, Ingres, JDatastore, MaxDB, Mckoi, Mimer, MySQL, Oracle, PointBase, PostgresSQL, Solid, SQLite, SQL Server, SQL Anywhere, Sybase (ASE) ...

    DtSQL Portable 2.1.1 - 通用数据库管理工具

    Cache, DB2, Derby, Firebird, FrontBase, H2, HSQLDB, Informix, Ingres, JDatastore, MaxDB, Mckoi, Mimer, MySQL, Oracle, PointBase, PostgresSQL, Solid, SQLite, SQL Server, SQL Anywhere, Sybase (ASE) ...

    DtSQL 1.0.1

    Cache, DB2, Derby, Firebird, FrontBase, H2, HSQLDB, Informix, Ingres, JDatastore, MaxDB, Mckoi, Mimer, MySQL, Oracle, PointBase, PostgresSQL, Solid, SQLite, SQL Server, SQL Anywhere, Sybase (ASE) ...

    DtSQL Portable 1.0.1 - 通用数据库管理工具

    Cache, DB2, Derby, Firebird, FrontBase, H2, HSQLDB, Informix, Ingres, JDatastore, MaxDB, Mckoi, Mimer, MySQL, Oracle, PointBase, PostgresSQL, Solid, SQLite, SQL Server, SQL Anywhere, Sybase (ASE) ...

    sar-1.2.18390.1-demo.msi

    Recovery for SQLAnywhere sar-1.2.18390.1-demo.msi 可以直接打开.db文件,导出数据到sql语句。

    java程序是怎么操作数据库的,可以以常用据库为例,求详细解答,最好能举例。

    在上面这个程序中我想你展示了如何使用JDBC-ODBC连接数据库,使用SQL语句生成一个表,使用SELECT、INSERT 、UPDATE语句取的、插入和更新一个表中的数据,如何通过字段名和字段索引访问数据库中的东东!我希望你能从...

    设计学生学籍管理系统

    在学生学籍管理系统的开发过程中,主要使用了嵌入式SQL语句和动态SQL语句在程序中灵活地操纵数据库。 关键字:SQL语言 对象 窗口 数据窗口 控件 一、概述 1.1 项目的背景及意义 学生学籍管理工作是学校管理工作...

Global site tag (gtag.js) - Google Analytics