zoukankan      html  css  js  c++  java
  • 数据库学习笔记 4 强大的SQL

    其实这篇文章应该至少一个星期前就应该更新了,但是最近小猿我和喜欢了好多年的女神牵手成功,所以这些天有点飘。

    ---创建表结构
    create table tablename
    (
        id int,
        name varchat(20) not NULL,
        address varchat(100) ,
        primary key (id),
        FOREIGN  KEY (id) REFERENCES retable
    );
    
    
    ---删除数据
    delete from tablename;
    
    ---删除关系(删除表)
    drop table tablename;
    
    ---添加列
    alter table tablename add name varchat(20);
    
    ---删除列
    alter table tablename drop name;
    
    
    
    
    ---插入数据
    insert into tablename values(...);
    
    ---查询语句(多关系查询)
    select * from tablename where ...;
    
    ---对查询查询内容进行去重
    select distinct name from tablename;
    
    

    聚集函数

    最经常用过的聚集函数也就

    • avg 平均值
    • sum 求和
    • min 最小值
    • max 最大值
    • count 记录数

    分组聚集 Group by

    对于Group by只要记住如果Group by子句中没有出现的属性,在select子句中只能以聚集函数的形式体现。

    join using

    这次学习还遇到一个坑,不理解什么是join using。查了一遍才知道,当两个表关联字段采用相同明明规范时可以用join using 简化join on

    select * from A join B on a.name=b.name

    可以替换成 select * from A join B using(name)

    top

    由于我是一本《sqlserver宝典2012》和《数据库系统概念》一起看的,所以有时候能遇到一些小差异

    《数据库系统概念》里的练题里有一个是找出工资最高的所有人(工资最高有很多人)

    我的第一个想法就是用前几天看的top配合with ties就可以简单的解决这个问题了,执行了一下发现mysql并不支持这样的语法与之对应的是limit,Oracle中与之对应的应该是利用rownum。

    外连接

    外连接分为左、右、全三种连接方式。

    左外连接以左表为主表,右表中没有的指补null,右外连接相反。

    全外连接左右都会判断。

    SQL VIEW

    总是听周围的大神们讲这个功能或者那个功能应该用SQL视图或许能简单一点,这回终于一睹SQL view的芳容。

    视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。

    知道了SQL view是怎么回事,我开始纠结于应用程序怎么调用的问题。其实很简单视图就是存放在数据库上的虚拟表,只不过只有在使用的时候数据才会被查询出来。

    SQL中的时间

    SQL中表示时间的类型基本有三种

    • date 表示年月日
    • time 表示时分秒
    • timestamp 是date和time的结合
  • 相关阅读:
    用例输入单元测试(3)参数化测试方法
    线程文件[MFC]线程优先级设置,下拉列表框ComboBox,复选框CButton,列表框CListBox的使用
    设置系统SetLocalTime设置系统时间
    页面错误毕业设计之错误集锦(六)
    定义数据类型SQL server中SET ANSI_PADDING对char、varchar、nvarchar的影响
    查找关键字算法:静态查找表(Static Search Table)
    密码注册ASP.NET实现忘记密码
    卡函数or1200基于simplespi的SD卡驱动
    目的地返回POJ 2336 动态规划(DP) Ferry Loading II
    坐标序列hdu 1003 解题报告 Max Sum
  • 原文地址:https://www.cnblogs.com/hoyu/p/8617279.html
Copyright © 2011-2022 走看看