精华内容
下载资源
问答
  • 写这篇随笔的目的是我发现了在上一篇关于MySQL的随笔中存在一些不严谨的代码问题,在这里再次简单的总结一下并加以改进,以代码为主。#!每行命令必须以分号(;)结尾先通过命令行进入数据库客户端mysql-h服务端ip地址...

    写这篇随笔的目的是我发现了在上一篇关于My SQL的随笔中存在一些不严谨的代码问题,在这里再次简单的总结一下并加以改进,以代码为主。

    # !每行命令必须以分号(;)结尾

    先通过命令行进入数据库客户端

    mysql -h服务端ip地址 -P(大写)服务端使用的端口,一般为3306 -p(小写)

    回车之后输入密码,进入

    显示所有数据库

    show databases;

    创建数据库并设置编码

    - 数据库创建时可以设置字符集以及排序规则

    - 字符集一般使用utf8的,排序规则一般使用忽略大小写的,其实也不能说是忽略大小写

    - 它的原理是放进数据库的都转换成大写,然后不管用户输入的大写还是小写都转换成大写再去数据库里查

    - 所以看起来就相当于是忽略了大小写

    - 如果不设置中文会乱码

    create database 数据库名字 character set utf8;

    create database 数据库名字 charset=utf8;

    修改数据库编码

    alter database 数据库名字 character set utf8;

    展示创建数据库的过程

    show create database 数据库名字;

    使用某个数据库

    use 数据库名字;

    判断当前在哪个数据库里

    select database();

    查看该数据库有哪些表

    show tables;

    创建数据库中的表

    create table 表的名字(

    字段名字 类型(范围) [约束],

    字段名字 类型(范围) [约束],

    字段名字 类型(范围) [约束]);

    查看某表的字段(属性)

    desc 表的名字;

    show create table 表的名字;

    往表中添加字段

    alter table 表的名字 add 字段名字 类型(范围) [约束];

    修改表字段类型

    alter table 表名字 modify 字段名字 新类型(范围) [约束];

    修改表字段的名字和类型

    alter table 表名字 change 旧的字段名字 新的字段名字 新类型(范围) [约束];

    给表中的字段添加约束

    主键,外键,检查,唯一四个约束要用add constraint,其他的约束可以用modify

    alter table 表的名字 add constraint 起个名字(随意) 约束(字段名字);

    往表中添加数据

    insert into 表的名字(字段名字) values(要添加的数据);

    查询表中的数据

    select * from 表的名字;

    根据范围查询表里的数据

    select * from table limit m,n;

    - 显示范围是:[m+1行,m+n行],包括m+1和m+n行

    根据字段查询表里的数据

    select 字段名字1,字段名字2 from 表的名字;

    给从表里查询出来的数据的字段取别名

    select 字段名字1 as 要取的别名,字段名字2 as 要取的别名 from 表的名字;

    根据字段查询表里的数据(去重)

    select distinct 字段名字 from 表的名字;

    根据条件查询表里的数据(条件可使用not,!=,or,in(值1,值2...),and,between..and..)

    select * from 表的名字 where 条件;

    模糊查询表里的数据

    在根据条件查询的条件中使用like和通配符%(任意字符),_(一个字符)

    查询表里的某字段为NULL的值条件必须用is null,不能用= null

    对表里的数据排序(先按字段1排,有相同的则再按字段2排)

    select * from 表的名字 order by 字段名字1 asc(默认升序)/desc(降序),字段名字2 asc(默认升序)/desc(降序);

    修改表中某字段的所有数据

    update 要修改的表的名字 set 要修改的字段 = 修改后的内容;

    修改表中某字段的指定数据(where 后面是查找条件)

    update 要修改的表的名字 set 要修改的字段 = 修改后的内容 where 字段 = 内容;

    删除表中的一个字段(这里要注意不能全删光)

    alter table 表的名字 drop column 字段名字;

    删除表中的数据

    truncate 表的名字; (后面不能跟where)

    delete from 表的名字;

    delete from 表的名字 where 字段名字 = 内容;

    删除数据库/表

    drop database/table 存在的数据库名字/表的名字;

    清屏

    system clear

    导入导出数据库

    导出(终端中): mysqldump -uroot -p 存在的要导出的数据库的名字 > 要导出位置的绝对路径/新名字.sql

    导入(终端中): mysql -uroot -p 新数据库的名字 

    导入(客户端中): 1. 先建一个新的数据库,名字随意

    2. use 这个空的数据库

    3. source 写要导入的.sql文件的绝对路径

    约束

    两种添加的时机:1. 建表的时候 2. alter 添加约束

    演示代码(不想打的可以直接复制,我写全了,不过代码里也有会报错的地方,认真看错误的原因才能理解的更深):

    主键约束(自带唯一约束):

    create database yueshu character set utf8;

    use yueshu;

    show tables;

    create table tbl_PK(

    id int unsigned(无符号) primary key auto_increment(自动增长),(顺序不能错)

    name varchar(30));

    insert tbl_PK values(1,'张三'),(2,'李四'),(3,'王五');

    select * from tbl_PK;

    insert tbl_PK values(0,'张三'),(0,'李四'),(0,'王五');

    唯一约束:

    create table tbl_UQ(

    id int unsigned primary key auto_increment,

    card_id varchar(18) unique);

    insert into tbl_UQ values(0,'123123');

    select * from tbl_UQ;

    insert into tbl_UQ values(0,'123123');

    insert into tbl_UQ values(0,'123123321');

    select * from tbl_UQ;

    非空约束:

    create table tbl_NN(

    id int unsigned primary key auto_increment,

    name varchar(10) not null);

    alter table tbl_NN add age int unsigned;

    desc tbl_NN;

    insert into tbl_NN values(0, '张三');

    insert into tbl_NN(id,name) values(0, '张三');

    select * from tbl_NN;

    insert into tbl_NN(id,age) values(0, 18);

    默认约束:

    create table tbl_Default(

    id int unsigned primary key auto_increment,

    gender char(2) not null default '男');

    alter table tbl_Default add name varchar(30);

    insert into tbl_Default(id, name) values(0,'张三');

    select * from tbl_Default;

    检查约束:(MySQL中不起作用)

    create table tbl_Check(

    id int,

    age int check ( age > 0 and age 

    gender char(2) check ('男' or '女'));

    insert into tbl_Check values(0, 180, '中性');

    select * from tbl_Check;

    外键约束:

    create table Employees(

    EmpId int unsigned primary key auto_increment,

    EmpName varchar(50),

    EmpGender char(2),

    EmpAge int,

    EmpEmail varchar(100),

    EmpAddress varchar(500)

    DeptId int);

    create table Department(

    DepId int unsigned primary key auto_increment,

    DepName varchar(50));

    alter table Employees add constraint FK_DeptId_DepId foreign key(DeptId) references Department(DepId);

    外键必须和主键关联

    insert into Department values(0,'一部门'),(0,'二部门');

    select * from Department;

    insert into Employees(EmpId,DeptId) values(0,1);

    select * from Employees;

    insert into Employees(EmpId,DeptId) values(0,3);

    drop table Department;

    drop table Employees;

    drop table Department;

    聚合函数(聚合函数不计算null值)

    - 对多条数据进行统计

    把某字段中的数据分组

    select 字段名字1 from 表的名字 group by 字段名字1;

    根据某字段(字段名字1)分组,显示其它字段(字段名字2)成分

    select 字段名字1,group_concat(字段名字2) from 表的名字 group by 字段名字1;

    求和

    select sum(字段名字) as '别名' from 表的名字;

    求最大

    select max(字段名字) as '别名' from 表的名字;

    求最小

    select min(字段名字) as '别名' from 表的名字;

    求平均

    select avg(字段名字) as '别名' from 表的名字;

    求某字段所含数据的总个数(不算null那一行)

    select count(字段名字) as '别名' from 表的名字;

    分组之后显示每组的数据个数

    select 字段名字1,count(*) from 表的名字 group by 字段名字1;

    保留小数指定位数

    select round(那个小数,保留的位数) from 表的名字;

    having 对分组之后的数据进行进一步的筛选

    类似于 select 和 where 之间的关系

    select 字段名字1 from 表的名字 group by 字段名字1 having 条件;

    多表查询

    - 尽量避免多表查询

    - 多表查询会出现笛卡尔积

    内连接,满足条件显示(还是会产生笛卡尔积,只是用on进行了条件筛选)

    select * from 表1的名字 inner join 表2的名字 on 表1的名字.字段的名字 = 表2的名字.字段的名字;

    左连接,以表1为基础,表1全显示,表2不够的用null补全

    select * from 表1的名字 left join 表2的名字 on 表1的名字.字段的名字 = 表2的名字.字段的名字;

    右连接,以表2为基础,表2全显示,表1不够的用null补全

    select * from 表1的名字 right join 表2的名字 on 表1的名字.字段的名字 = 表2的名字.字段的名字;

    自关联

    - 让表自己和自己进行连接

    - 表中的某一列关联了表中的另外一列,但是他们的业务含义是不一样的

    select * from 表的名字 inner join 表的名字 on 表的名字.字段的名字 = 表的名字.字段的名字;

    代码示例:

    Create table areas

    (

    id int,

    atitle varchar(100),

    pid int

    )

    如:

    id 编号 pid 上级编号

    id  atitle     pid

    1   河北省   null

    2   石家庄    1

    3   平山县    2

    子查询

    select * from 表1的名字 where 字段1的名字=(select 字段2的名字 from 表2的名字 where 条件)

    执行顺序:

    1—from 表名

    2—where

    3—group by

    4—select distinct *

    5—having

    6—order by

    7—limit

    注意事项:

    enum ,添加数据的时候是从1开始的不是从0开始的 ,比如enum('男','女')-----1是男,2是女,以此类推

    展开全文
  • VFP常用函数大全一.字符及字符串处理函数:字符及字符串处理函数的处理对象均为字符型数据,但其返回值类型各异.1.取子串函数:格式:substr(c,n1,n2)功能:取字符串C第n1个字符起的n2个字符.返回值类型是字符型.例:取...

    VFP

    常用函数大全

    .

    字符及字符串处理函数

    :

    字符及字符串处理函数的处理对象均为字符型数据

    ,

    但其返回值类型各异

    .

    1.

    取子串函数

    :

    格式

    :substr(c,n1,n2)

    功能

    :

    取字符串

    C

    n1

    个字符起的

    n2

    个字符

    .

    返回值类型是字符型

    .

    :

    取姓名字符串中

    的姓

    .

    store "

    王小风

    " to xm ?substr(xm,1,2)

    结果为

    :

    2.

    删除空格函数

    :

    以下

    3

    个函数可以删除字符串中的多余空格

    ,3

    个函数的返回值均为字符型

    .

    trim(

    字符串

    ):

    删除字符串的尾部空格

    alltrim(

    字符串

    ):

    删除字符串的前后空格

    ltrim(

    字符串

    ):

    删除字符串的前面的空格

    :

    去掉第一个字符串的尾空格后与第二个字符

    串连接

    store "abcd

    " to x store "efg" to y ?trim(x)+y

    abcdefg 3.

    空格函数

    :

    格式

    :space(n)

    说明

    :

    该函数的功能是产生指定个数的空格字符串

    (n

    用于

    指定空格个数

    ).

    :

    定义一个变量

    dh,

    其初值为

    8

    个空格

    store

    space(8)

    to

    dh 4.

    取左子串函数

    :

    格式

    :left(c,n)

    功能

    :

    取字符串

    C

    左边

    n

    个字符

    . 5.

    取右子串

    函数

    :

    格式

    :right(c,n)

    功能

    :

    取字符串

    c

    右边的

    n

    个字符

    :a="

    我是中国人

    "

    ?right(a,4)

    国人

    ?left(a,2)

    6.empty(c):

    用于测试字符串

    C

    是否为空格

    .

    7.

    求子串位置

    函数

    :

    格式

    :At(

    字符串

    1,

    字符串

    2)

    功能

    :

    返回字符串

    1

    在字符串

    2

    的位置

    :?At("

    教授

    ","

    副教授

    ")

    2

    8.

    大小写转换函数

    :

    : lower(

    字符串

    )

    upper(

    字符串

    )

    功能

    :lower()

    将字符串中的字母一律变小写

    ;upper()

    将字符

    串中的字母一律变大写

    :

    bl="FoxBASE" ?lower(bl)+space(2)+upper(bl) foxbase

    FOXBASE

    9.

    求字符串长度函数

    :

    格式

    :len(

    字符串

    )

    功能

    :

    求指定字符串的长度

    :a="

    中国人

    " ?len(a) 6

    .

    数学运算函数

    : 1.

    取整函

    :

    格式

    :int(

    数值

    )

    功能

    :

    取指定数值的整数部分

    .

    :

    取整并

    显示结果

    ?int(25.69)

    25 2.

    四舍五入函数

    :

    格式

    :round(

    数值表达式

    ,

    小数位数

    )

    功能

    :

    根据给出的四舍五入小数位数

    ,

    对数值表达式的计算

    结果做四舍五入处理

    :

    对下面给出的数四舍五入并显示其结果

    ?round(3.14159,4),round(2048.9962,0),round(2048.9962,-3

    展开全文
  • sql常用语句大全

    2008-02-04 23:07:00
    --1、查找员工的编号、姓名、部门和出生日期,如果出生日期为空值,--显示日期不详,并按部门排序输出,日期格式为yyyy-mm-dd。select emp_no ,emp_name ,dept ,isnull(convert(char(10),birthday,120),日期不详) ...
    --1、查找员工的编号、姓名、部门和出生日期,如果出生日期为空值,
    --显示日期不详,并按部门排序输出,日期格式为yyyy-mm-dd。
    select emp_no ,emp_name ,dept ,
    isnull(convert(char(10),birthday,120),'日期不详') birthday
    from employee
    order by dept

    --2、查找与喻自强在同一个单位的员工姓名、性别、部门和职称
    select emp_no,emp_name,dept,title
    from employee
    where emp_name<>'喻自强' and dept in
    (select dept from employee
    where emp_name='喻自强')

    --3、按部门进行汇总,统计每个部门的总工资
    select dept,sum(salary)
    from employee
    group by dept

    --4、查找商品名称为14寸显示器商品的销售情况,
    --显示该商品的编号、销售数量、单价和金额
    select a.prod_id,qty,unit_price,unit_price*qty totprice
    from sale_item a,product b
    where a.prod_id=b.prod_id and prod_name='14寸显示器'

    --5、在销售明细表中按产品编号进行汇总,统计每种产品的销售数量和金额
    select prod_id,sum(qty) totqty,sum(qty*unit_price) totprice
    from sale_item
    group by prod_id

    --6、使用convert函数按客户编号统计每个客户1996年的订单总金额
    select cust_id,sum(tot_amt) totprice
    from sales
    where convert(char(4),order_date,120)='1996'
    group by cust_id

    --7、查找有销售记录的客户编号、名称和订单总额
    select a.cust_id,cust_name,sum(tot_amt) totprice
    from customer a,sales b
    where a.cust_id=b.cust_id
    group by a.cust_id,cust_name

    --8、查找在1997年中有销售记录的客户编号、名称和订单总额
    select a.cust_id,cust_name,sum(tot_amt) totprice
    from customer a,sales b
    where a.cust_id=b.cust_id and convert(char(4),order_date,120)='1997'
    group by a.cust_id,cust_name

    --9、查找一次销售最大的销售记录
    select order_no,cust_id,sale_id,tot_amt
    from sales
    where tot_amt=
    (select max(tot_amt)
    from sales)

    --10、查找至少有3次销售的业务员名单和销售日期
    select emp_name,order_date
    from employee a,sales b
    where emp_no=sale_id and a.emp_no in
    (select sale_id
    from sales
    group by sale_id
    having count(*)>=3)
    order by emp_name

    --11、用存在量词查找没有订货记录的客户名称
    select cust_name
    from customer a
    where not exists
    (select *
    from sales b
    where a.cust_id=b.cust_id)

    --12、使用左外连接查找每个客户的客户编号、名称、订货日期、订单金额
    --订货日期不要显示时间,日期格式为yyyy-mm-dd
    --按客户编号排序,同一客户再按订单降序排序输出
    select a.cust_id,cust_name,convert(char(10),order_date,120),tot_amt
    from customer a left outer join sales b on a.cust_id=b.cust_id
    order by a.cust_id,tot_amt desc

    --13、查找16M DRAM的销售情况,要求显示相应的销售员的姓名、
    --性别,销售日期、销售数量和金额,其中性别用男、女表示
    select emp_name 姓名, 性别= case a.sex when 'm' then '男'
    when 'f' then '女'
    else '未'
    end,
    销售日期= isnull(convert(char(10),c.order_date,120),'日期不详'),
    qty 数量, qty*unit_price as 金额
    from employee a, sales b, sale_item c,product d
    where d.prod_name='16M DRAM' and d.pro_id=c.prod_id and
    a.emp_no=b.sale_id and b.order_no=c.order_no

    --14、查找每个人的销售记录,要求显示销售员的编号、姓名、性别、
    --产品名称、数量、单价、金额和销售日期
    select emp_no 编号,emp_name 姓名, 性别= case a.sex when 'm' then '男'
    when 'f' then '女'
    else '未'
    end,
    prod_name 产品名称,销售日期= isnull(convert(char(10),c.order_date,120),'日期不详'),
    qty 数量, qty*unit_price as 金额
    from employee a left outer join sales b on a.emp_no=b.sale_id , sale_item c,product d
    where d.pro_id=c.prod_id and b.order_no=c.order_no

    --15、查找销售金额最大的客户名称和总货款
    select cust_name,d.cust_sum
    from customer a,
    (select cust_id,cust_sum
    from (select cust_id, sum(tot_amt) as cust_sum
    from sales
    group by cust_id ) b
    where b.cust_sum =
    ( select max(cust_sum)
    from (select cust_id, sum(tot_amt) as cust_sum
    from sales
    group by cust_id ) c )
    ) d
    where a.cust_id=d.cust_id

    --16、查找销售总额少于1000元的销售员编号、姓名和销售额
    select emp_no,emp_name,d.sale_sum
    from employee a,
    (select sale_id,sale_sum
    from (select sale_id, sum(tot_amt) as sale_sum
    from sales
    group by sale_id ) b
    where b.sale_sum <1000
    ) d
    where a.emp_no=d.sale_id

    --17、查找至少销售了3种商品的客户编号、客户名称、商品编号、商品名称、数量和金额
    select a.cust_id,cust_name,b.prod_id,prod_name,d.qty,d.qty*d.unit_price
    from customer a, product b, sales c, sale_item d
    where a.cust_id=c.cust_id and d.prod_id=b.prod_id and
    c.order_no=d.order_no and a.cust_id in (
    select cust_id
    from (select cust_id,count(distinct prod_id) prodid
    from (select cust_id,prod_id
    from sales e,sale_item f
    where e.order_no=f.order_no) g
    group by cust_id
    having count(distinct prod_id)>=3) h )

    --18、查找至少与世界技术开发公司销售相同的客户编号、名称和商品编号、商品名称、数量和金额
    select a.cust_id,cust_name,d.prod_id,prod_name,qty,qty*unit_price
    from customer a, product b, sales c, sale_item d
    where a.cust_id=c.cust_id and d.prod_id=b.prod_id and
    c.order_no=d.order_no and not exists
    (select f.*
    from customer x ,sales e, sale_item f
    where cust_name='世界技术开发公司' and x.cust_id=e.cust_id and
    e.order_no=f.order_no and not exists
    ( select g.*
    from sale_item g, sales h
    where g.prod_id = f.prod_id and g.order_no=h.order_no and
    h.cust_id=a.cust_id)
    )

    19、查找表中所有姓刘的职工的工号,部门,薪水
    select emp_no,emp_name,dept,salary
    from employee
    where emp_name like '刘%'

    20、查找所有定单金额高于20000的所有客户编号
    select cust_id
    from sales
    where tot_amt>20000

    21、统计表中员工的薪水在40000-60000之间的人数
    select count(*)as 人数
    from employee
    where salary between 40000 and 60000

    22、查询表中的同一部门的职工的平均工资,但只查询"住址"是"上海市"的员工
    select avg(salary) avg_sal,dept
    from employee
    where addr like '上海市%'
    group by dept

    23、将表中住址为"上海市"的员工住址改为"北京市"
    update employee
    set addr like '北京市'
    where addr like '上海市'

    24、查找业务部或会计部的女员工的基本信息。
    select emp_no,emp_name,dept
    from employee
    where sex='F'and dept in ('业务','会计')

    25、显示每种产品的销售金额总和,并依销售金额由大到小输出。
    select prod_id ,sum(qty*unit_price)
    from sale_item
    group by prod_id
    order by sum(qty*unit_price) desc
    26、选取编号界于‘C0001’和‘C0004’的客户编号、客户名称、客户地址。
    select CUST_ID,cust_name,addr
    from customer
    where cust_id between 'C0001' AND 'C0004'

    27、计算出一共销售了几种产品。
    select count(distinct prod_id) as '共销售产品数'
    from sale_item

    28、将业务部员工的薪水上调3%。
    update employee
    set salary=salary*1.03
    where dept='业务'

    29、由employee表中查找出薪水最低的员工信息。
    select *
    from employee
    where salary=
    (select min(salary )
    from employee )

    30、使用join查询客户姓名为"客户丙"所购货物的"客户名称","定单金额","定货日期","电话号码"
    select a.cust_id,b.tot_amt,b.order_date,a.tel_no
    from customer a join sales b
    on a.cust_id=b.cust_id and cust_name like '客户丙'

    31、由sales表中查找出订单金额大于“E0013业务员在1996/10/15这天所接每一张订单的金额”的所有订单。
    select *
    from sales
    where tot_amt>all
    (select tot_amt
    from sales
    where sale_id='E0013'and order_date='1996/10/15')
    order by tot_amt

    32、计算'P0001'产品的平均销售单价
    select avg(unit_price)
    from sale_item
    where prod_id='P0001'

    33、找出公司女员工所接的定单
    select sale_id,tot_amt
    from sales
    where sale_id in
    (select sale_id from employee
    where sex='F')

    34、找出同一天进入公司服务的员工
    select a.emp_no,a.emp_name,a.date_hired
    from employee a
    join employee b
    on (a.emp_no!=b.emp_no and a.date_hired=b.date_hired)
    order by a.date_hired

    35、找出目前业绩超过232000元的员工编号和姓名。
    select emp_no,emp_name
    from employee
    where emp_no in
    (select sale_id
    from sales
    group by sale_id
    having sum(tot_amt)<232000)

    36、查询出employee表中所有女职工的平均工资和住址在"上海市"的所有女职工的平均工资
    select avg(salary)
    from employee
    where sex like 'f'
    union
    select avg(salary)
    from employee
    where sex like 'f' and addr like '上海市%'

    37、在employee表中查询薪水超过员工平均薪水的员工信息。
    Select * from employee where salary>(select avg(salary) from employee)

    38、找出目前销售业绩超过40000元的业务员编号及销售业绩,并按销售业绩从大到小排序。
    Select sale_id ,sum(tot_amt)
    from sales
    group by sale_id
    having sum(tot_amt)>40000
    order by sum(tot_amt) desc

    39、找出公司男业务员所接且订单金额超过2000元的订单号及订单金额。
    Select order_no,tot_amt
    From sales ,employee
    Where sale_id=emp_no and sex='M' and tot_amt>2000

    40、查询sales表中订单金额最高的订单号及订单金额。
    Select order_no,tot_amt from sales where tot_amt=(select max(tot_amt) from sales)

    41、查询在每张订单中订购金额超过24000元的客户名及其地址。
    Select cust_name,addr from customer a,sales b where a.cust_id=b.cust_id and tot_amt>24000

    42、求出每位客户的总订购金额,显示出客户号及总订购金额,并按总订购金额降序排列。
    Select cust_id,sum(tot_amt) from sales
    Group by cust_id
    Order by sum(tot_amt) desc

    43、求每位客户订购的每种产品的总数量及平均单价,并按客户号,产品号从小到大排列。
    Select cust_id,prod_id,sum(qty),sum(qty*unit_price)/sum(qty)
    From sales a, sale_item b
    Where a.order_no=b.order_no
    Group by cust_id,prod_id
    Order by cust_id,prod_id

    44、查询订购了三种以上产品的订单号。
    Select order_no from sale_item
    Group by order_no
    Having count(*)>3

    45、查询订购的产品至少包含了订单10003中所订购产品的订单。
    Select distinct order_no
    From sale_item a
    Where order_no<>'10003'and not exists (
    Select * from sale_item b where order_no ='10003' and not exists
    (select * from sale_item c where c.order_no=a.order_no and c.prod_id=b.prod_id))

    46、在sales表中查找出订单金额大于“E0013业务员在1996/11/10这天所接每一张订单的金额”的所有订单,并显示承接这些订单的业务员和该订单的金额。
    Select sale_id,tot_amt from sales
    where tot_amt>all(select tot_amt from sales where sale_id='E0013' and order_date='1996/11/10')

    47、查询末承接业务的员工的信息。
    Select *
    From employee a
    Where not exists
    (select * from sales b where a.emp_no=b.sale_id)

    48、查询来自上海市的客户的姓名,电话、订单号及订单金额。
    Select cust_name,tel_no,order_no,tot_amt
    From customer a ,sales b
    Where a.cust_id=b.cust_id and addr='上海市'

    49、查询每位业务员各个月的业绩,并按业务员编号、月份降序排序。
    Select sale_id,month(order_date), sum(tot_amt)
    from sales
    group by sale_id,month(order_date)
    order by sale_id,month(order_date) desc

    50、求每种产品的总销售数量及总销售金额,要求显示出产品编号、产品名称,总数量及总金额,并按产品号从小到大排列。
    Select a.prod_id,prod_name,sum(qty),sum(qty*unit_price)
    From sale_item a,product b
    Where a.prod_id=b.prod_id
    Group by a.prod_id,prod_name
    Order by a.prod_id
    51、查询总订购金额超过’C0002’客户的总订购金额的客户号,客户名及其住址。
    Select cust_id, cust_name,addr
    From customer
    Where cust_id in (select cust_id from sales
    Group by cust_id
    Having sum(tot_amt)>
    (Select sum(tot_amt) from sales where cust_id='C0002'))

    52、查询业绩最好的的业务员号、业务员名及其总销售金额。
    select emp_no,emp_name,sum(tot_amt)
    from employee a,sales b
    where a.emp_no=b.sale_id
    group by emp_no,emp_name
    having sum(tot_amt)=
    (select max(totamt)
    from (select sale_id,sum(tot_amt) totamt
    from sales
    group by sale_id) c)

    53、查询每位客户所订购的每种产品的详细清单,要求显示出客户号,客户名,产品号,产品名,数量及单价。
    select a.cust_id, cust_name,c.prod_id,prod_name,qty, unit_price
    from customer a,sales b, sale_item c ,product d
    where a.cust_id=b.cust_id and b.order_no=c.order_no and c.prod_id=d.prod_id

    54、求各部门的平均薪水,要求按平均薪水从小到大排序。
    select dept,avg(salary) from employee group by dept order by avg(salary)
     
    展开全文
  • Oracle的分析函数功能非常强大,工作这些年来经常用到。这次将平时经常使用到的分析函数整理出来... sname varchar2(20), -- 打工者姓名 times int, -- 本月打工次数 singleincome number(10,2), -- 每次赚多少钱 pe
  • VFP常用函数大全_VFP

    千次阅读 2008-01-09 12:51:00
    一.字符及字符串处理函数:字符及字符串处理函数的处理对象均为字符型... 例:取姓名字符串中的姓. store "王小风" to xm ?substr(xm,1,2) 结果为:王 2.删除空格函数:以下3个函数可以删除字符串中的多余空格,3

     一.字符及字符串处理函数:字符及字符串处理函数的处理对象均为字符型数据,但其返回值类型各异. 
    1.取子串函数: 
    格式:substr(c,n1,n2) 
    功能:取字符串C第n1个字符起的n2个字符.返回值类型是字符型. 
    例:取姓名字符串中的姓. 
    store "王小风" to xm 
    ?substr(xm,1,2) 
    结果为:王 
    2.删除空格函数:以下3个函数可以删除字符串中的多余空格,3个函数的返回值均为字符型. 
    trim(字符串):删除字符串的尾部空格 
    alltrim(字符串):删除字符串的前后空格 
    ltrim(字符串):删除字符串的前面的空格 
    例:去掉第一个字符串的尾空格后与第二个字符串连接 
    store "abcd   " to x 
    store "efg" to y 
    ?trim(x)+y 
    abcdefg 
    3.空格函数: 
    格式:space(n) 
    说明:该函数的功能是产生指定个数的空格字符串(n用于指定空格个数). 
    例:定义一个变量dh,其初值为8个空格 
    store space(8) to dh 
    4.取左子串函数: 
    格式:left(c,n) 
    功能:取字符串C左边n个字符. 
    5.取右子串函数: 
    格式:right(c,n) 
    功能:取字符串c右边的n个字符 
    例:a="我是中国人" 
    ?right(a,4) 
    国人 
    ?left(a,2) 
    我 
    6.empty(c):用于测试字符串C是否为空格. 
    7.求子串位置函数: 
    格式:At(字符串1,字符串2) 
    功能:返回字符串1在字符串2的位置 
    例:?At("教授","副教授") 
        2  
    8.大小写转换函数: 
    格式: 
    lower(字符串) 
    upper(字符串) 
    功能:lower()将字符串中的字母一律变小写;upper()将字符串中的字母一律变大写 
    例: 
    bl="FoxBASE" 
    ?lower(bl)+space(2)+upper(bl) 
    foxbase   FOXBASE 
    9.求字符串长度函数: 
    格式:len(字符串) 
    功能:求指定字符串的长度 
    例:a="中国人" 
    ?len(a) 
    6  
        二.数学运算函数: 
    1.取整函数: 
    格式:int(数值)  
    功能:取指定数值的整数部分. 
    例:取整并显示结果 
    ?int(25.69) 
    25 
    2.四舍五入函数:  
    格式:round(数值表达式,小数位数) 
    功能:根据给出的四舍五入小数位数,对数值表达式的计算结果做四舍五入处理 
    例:对下面给出的数四舍五入并显示其结果 
    ?round(3.14159,4),round(2048.9962,0),round(2048.9962,-3) 
    3.1416   2049   2000  
    3.求平方根函数: 
    格式:sqrt(数值) 
    功能:求指定数值的算术平方根 
    例:?sqrt(100) 
      10 
    4.最大值、最小值函数: 
    格式: 
    Max(数值表达式1,数值表达式2) 
    Min(数值表达式1,数值表达式2) 
    功能:返回两个数值表达式中的最大值和最小值 
    例: 
    x1=123.456 
    x2=234.567 
    ?max(x1,x2) 
    234.567 
    ?min(x1,x2) 
    123.456  
     

    皇冠【至尊美白祛斑套装】胶原蛋白/葡萄籽_天然美容食品
    208.0元 
    展开全文
  • 学生表 Student(s_id,s_name,s_birth,s_sex) –学生编号,学生姓名, 出生年月,学生性别 –2.课程表 Course(c_id,c_name,t_id) – –课程编号, 课程名称, 教师编号 –3.教师表 Teacher(t_id,t_name) –教师编号,教师...
  • 推荐特效PHP功能插件 更多> 09-07 PHP合成多图片 08-28 百度地图根据经纬度获取国家、州市等地址相关信息 08-06 PHP读取身份证姓名和...
  • 对,今天给大家分享的干货就是:常用正则大全。它叫:any-rule 。光看名字就非常霸气,any ,任何!这个开源的项目还支持 web /vscode 插件 2 种查询方式。比如,在 VS Code 上安装使用的话,如下:安装 vscode 中...
  • ----统计函数---- AVG --求平均值 COUNT--统计数目 MAX --求最大值 MIN --求最小值 SUM --求和 --AVG use pangu selectavg(e_wage) as dept_avgWage ...--求工资最高的员工姓名 us
  • 常用SQL

    千次阅读 2012-09-13 17:01:52
    SQL查询语句大全集锦   MYSQL查询语句大全集锦 一、 简单查询 ...例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。 复制内容到剪贴板 代码:SELECT `nickname
  • mysql常用语句及函数

    2021-01-13 19:58:42
    mysql数据库,常用查询语句大全 下文记录了SQL常用DQL语句; 基础查询,条件查询,模糊查询,排序查询,聚合函数,去重,分页查询,限制输出,多表查询… 一、基础查询 语法:select 查询列名(多个列名用,隔开)...
  • String大全

    2014-03-12 23:28:03
    Java中String类和常用方法 实例化String对象 第一直接赋值 package com.qn.array; public class Test4 {  public static void main(String[] args) {  String name="zhangsan";  System.out....
  • 英汉词典大全

    2011-11-26 21:33:23
    现代汉语词典,收录了65160多条词汇,总计3826661个文字,能够查询常用的单词和词汇; 2.成语故事大全搜集了200多个成语故事,方便老师,学生学习,查阅; 3.古汉成语词典汇集了24060多个成语,有详细解释说明;软件...
  • 易语言模块大全

    2018-08-07 13:01:30
    姓名.ec 取拼音带声调1.2.ec 取拼音首个字母.ec 取拼音首模块.ec 取按键名称模块.ec 取控件或窗口的标题.ec 取操作系统类别.ec 取文件版本信息.ec 取文件相关联的图标.ec 取文件行数.ec 取文本行数.ec ...
  • 常见公文批示用语大全 审批公文是机关的一项重要工作,为了进一步规范公文批示,正确表达和准确理解批示意见,提高工作效率。下文小编为大家收集了关于常用的公文批示用语,希望对大家有所帮助!这些常见公文批示用语...
  • 三、MYSQL随机生成姓名; 四、MYSQL返回表的所有字段; 五、MySQL重复数据的相关操作(包含表不存在主键的情况); 六、MYSQL查询返回JSON格式的字符串(多层嵌套); 七、MYSQL查询返回JSON格式的字符串; 八、...
  • 学生请假条范文大全(推荐) 请假条是一种常用的应用文体。当你因为生病不能到校上课的时候,或者因事不能参加集体活动的时候,你就需要给老师写一张请假条。下面是小编精心整理的学生请假条范文大全,希望能给大家...
  • word使用技巧大全

    热门讨论 2011-03-18 20:37:53
    ★将姓名按姓氏笔划排序 13 ★在Word中插入当前的日期和时间 13 ★锁定插入的日期和时间 13 ★利用合并字符功能设置上下标 13 ★使用⑩以上的数字序号 14 ★使用格式刷重复复制格式 14 ★利用拖放的方式复制网页 14 ...
  • 日常生活类查询:万年历查询、手机号码归属地查询、免费在线翻译、手机话费查询、生肖属相查询、黄金价格走势图、股市行情查询、阿拉伯数字译成英文、省市自治区简称、二十四节气表、女性预产期自测、常用电话号码...
  • 姓名.ec 取拼音带声调1.2.ec 取拼音首个字母.ec 取拼音首模块.ec 取控件或窗口的标题.ec 取文件时间.ec 取文件版本信息.ec 取文件相关联的图标.ec 取文件行数.ec 取文本行数.ec 取易模块信息.ec 取注册表键句柄.ec...
  • 新编码转换大全.ec 日期时间增强.ec 日期格式规范.ec 日期设置模块.ec 时间格式化-自由扩展型.ec 易2.55版数据库记录编辑器模块.ec 易3.5版数据库记录编辑器模块.ec 易DLL支持.ec 易之插件模块.ec 易容大师.ec 易库...
  • 编码转换大全.ec 文件压缩专家.ec 取按键名称模块.ec BASE64编解码模块.ec 系统后台服务.ec 易容大师.ec 保证显示.ec 注册热键(支持多热键).ec DIY热键框模块.ec 代码编辑器部分模块.ec Sqlite数据库加强.ec 自解压...
  • excel常用函数公式及技巧搜集 从身份证号码中提取出生年月日 从身份证号码中提取出性别 从身份证号码中进行年龄判断 按身份证号号码计算至今天年龄 以2006年10月31日为基准日,按按身份证计算年龄(周岁)的公式 按...
  • 易语言模块大全(共775个模块)

    热门讨论 2010-03-22 11:59:48
    姓名(1.0).zip 取拼音带声调1.2(1.2).zip 取中文文本拼音首个字母(1.0).zip 取拼音首(1.0).zip 取按键名称模块(1.0).zip 取控件或窗口的标题(1.0).zip 取操作系统类别(1.0).zip 取文件对应图标(1.0).zip 取文本...
  • 实例109 使用属性存储用户编号和姓名 132 实例110 通过定义方法求一个数的平方 133 实例111 使用重载方法实现不同类型数据的计算 135 5.2 结构与类 136 实例112 通过结构计算矩形的面积 136 实例113 通过类继承计算...
  • 女孩名字常用大全:http://xh.5156edu.com/xm/nu.html 姓名测试打分:https://www.threetong.com/ceming/baziceming 利用上面两个网站来实现获取一个打分高的女孩名字~ spider页面: (由于操作不难,就不写其他页...

空空如也

空空如也

1 2 3
收藏数 51
精华内容 20
关键字:

常用姓名大全