2018.10.15:周一

 
-- 返回前5个数据
SELECT TOP 5 *
FROM Student;
 
-- 返回前50%的数据
SELECT TOP 50 PERCENT *
FROM Student;
 
-- 以"C"或"P"开头
SELECT *
FROM Student
WHERE Subject LIKE '[CP]%';
 
-- 不以"C"或"P"开头
SELECT *
FROM Student
-- WHERE Subject LIKE '[^CP]%';
-- WHERE Subject LIKE '[!CP]%'; //不行
WHERE Subject NOT LIKE '[CP]%';
 
-- 以"A-D"开头
SELECT *
FROM Student
WHERE Subject LIKE '[A-D]%';
 
--选择科目是java和c#的所有人
SELECT *
FROM Student
WHERE Subject IN ('Java','C#');
-- WHERE Subject NOT IN ('Java','C#');
 
--选择范围之间
SELECT *
FROM Student
WHERE StuAge BETWEEN 22 AND 24;
-- WHERE StuAge NOT BETWEEN 22 AND 24;
 
SELECT *
FROM Student
WHERE (StuAge BETWEEN 22 AND 24) AND Subject NOT IN('Java');
 
SELECT *
FROM Student
WHERE StuName BETWEEN '曹操' AND '关羽'
ORDER BY StuName;
 
--若有日期的话
--SELECT * FROM Student WHERE Date BETWEEN #07/04/1996# AND #07/09/1996#;
 
-- 连接
-- 内
SELECT *
FROM Student INNER JOIN UserLogin
ON Student.StuName=UserLogin.UserName;
-- 左外
SELECT *
FROM Student LEFT JOIN UserLogin
ON Student.StuName=UserLogin.UserName;
-- 右外
SELECT *
FROM Student RIGHT JOIN UserLogin
ON Student.StuName=UserLogin.UserName;
-- 自然
SELECT *
FROM Student FULL JOIN UserLogin
ON Student.StuName=UserLogin.UserName;
 
-- 自连接
SELECT S.StuName AS NAME1,U.UserName AS NAME2
FROM Student S,UserLogin U
WHERE S.ID =U.ID;
 
--组合并去重复
SELECT StuName AS NAME
FROM Student
UNION
SELECT UserName
FROM UserLogin
ORDER BY StuName;
 
--组合但未去重复
SELECT StuName AS NAME
FROM Student
UNION ALL
SELECT UserName
FROM UserLogin
ORDER BY StuName;
 
--复制表中的数据到另一个新建表
SELECT *
INTO Student1015
FROM Student;
 
-- 复制到另一个数据库//貌似不可行
SELECT *
INTO Student181015 IN 'Nwind.mdb'
FROM Student;
 
--只复制一些列到新表
SELECT StuName,StuAge
INTO Student1015_1
FROM Student;
 
--复制多个表中信息插入新表
SELECT UserLogin.ID,Student.StuName,Student.StuAge
INTO Student1015_2
FROM Student INNER JOIN UserLogin
ON Student.StuName=UserLogin.UserName
ORDER BY UserLogin.ID;
 
--建一个空表,查询返回时无返回值
SELECT *
INTO newtable
FROM Student
WHERE 1=0;
 
--把指定列插入另一个表的指定列
INSERT INTO Student1015_2(ID,StuName,StuAge)
SELECT TOP 3 Student.ID,Student.Subject,Student.StuAge
FROM Student
WHERE Student.Subject='c#';
 
--删除表
DROP TABLE Student1015_2;
--只删除表中数据
TRUNCATE TABLE Student1015_2;
 
--添加列
ALTER TABLE Student1015_1
ADD STU15 DATE;
--删除列
ALTER TABLE Student1015_1
DROP COLUMN STU15;
--更改列
ALTER TABLE Student1015_1
ALTER COLUMN STU15 DATETIME;
 
--创建视图
GO
CREATE VIEW [MYSTUDENT] AS
SELECT ID,StuName
FROM Student1015
WHERE StuAge=24;
GO
 
GO
CREATE VIEW [DYMYSTUDENT] AS
SELECT ID,StuName
FROM Student1015
WHERE StuAge>(SELECT AVG(StuAge) FROM Student1015);
GO
--查询视图
GO
SELECT *
FROM [MYSTUDENT]
GO
--更新视图//貌似不行
GO
CREATE OR REPLACE VIEW [MYSTUDENT] AS
SELECT ID,StuName
FROM Student1015
WHERE StuAge=23;
GO
--删除视图
DROP VIEW [MYSTUDENT];
 
--查询时间
SELECT *
FROM Student1015_1
WHERE STU15='2018-10-15';

SQL学习笔记1的更多相关文章

  1. ORALCE PL/SQL学习笔记

    ORALCE  PL/SQL学习笔记 详情见自己电脑的备份数据资料

  2. Oracle之PL/SQL学习笔记

    自己在学习Oracle是做的笔记及实验代码记录,内容挺全的,也挺详细,发篇博文分享给需要的朋友,共有1w多字的学习笔记吧.是以前做的,一直在压箱底,今天拿出来整理了一下,给大家分享,有不足之处还望大家 ...

  3. SQL学习笔记

    SQL(Structured Query Language)学习笔记 [TOC] Terminal登录数据库 1.登录mysql -u root -p ; 2.显示所有数据库show database ...

  4. [SQL学习笔记][用exists代替全称量词 ]

    学习sql的必经问题. 学生表student (id学号 Sname姓名 Sdept所在系) 课程表Course (crscode课程号 name课程名) 学生选课表transcript (studi ...

  5. SQL学习笔记——SQL初入门,Ubuntu下MySQL的安装

          刚开始接触sql,于是准备在Ubuntu下学习sql,就跟着itercast的sql教程开始入门了. 下面只是我个人的记录,高手请绕道: 一. 在安装之前,我们可以用下面这个命令通过开放端 ...

  6. pl/sql学习笔记---马士兵教程38-48

    Procedure Language/Structure query Language 一.关于语言学习 1.数据类型 2.语法   通过例子来学习很快就能明白 set serverputout on ...

  7. SQL学习笔记之SQL查询练习题1

    (网络搜集) 0x00 表名和字段 –1.学生表 Student(s_id,s_name,s_birth,s_sex) –学生编号,学生姓名, 出生年月,学生性别 –2.课程表 Course(c_id ...

  8. SQL学习笔记之MySQL索引知识点

    0x00 概述 之前写过一篇Mysql B+树学习,简单的介绍了B+数以及MySql使用B+树的原因, 有了这些基础知识点,对MySql索引的类型以及索引使用的一些技巧,就比较容易理解了. 0x01 ...

  9. SQL学习笔记:一些高级语句

    现在以MySQL为模板.学习的方法和别的数据库写法上会有不同,但是思路基本一致. 用到的数据库表的格式: +----+--------------+-------------------------- ...

  10. SQL学习笔记:基础SQL语句

    目录 语句特点 进入数据库 基本查询语句 SELECT DISTINCT WHERE AND/OR/NOT :逻辑运算符 ORDER BY :排序 基本修改语句 INSERT:添加语句 UPDATE: ...

随机推荐

  1. float数据类型研究,发现其能显示的有效数字极为有限

    1. 范围  float和double的范围是由指数的位数来决定的.  float的指数位有8位,而double的指数位有11位,分布如下:  float:  1bit(符号位) 8bits(指数位) ...

  2. Oracle 数据库的绑定变量特性及应用

    Oracle 数据库的绑定变量特性及应用[-----]转载自https://www.cnblogs.com/rootq/(原地址) 关键词: 绑定变量(binding variable),共享池(sh ...

  3. Ugly number丑数2,超级丑数

    [抄题]: [思维问题]: [一句话思路]:Long.valueOf(2)转换为long型再做 [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入): [画图 ...

  4. swift - 封装 GCDTimer 和 NSTimer

    封装的类代码 import UIKit /// 控制定时器的类 class ZDTimerTool: NSObject { /// 定时器 // private var timer: Timer? / ...

  5. vue小常识小注意

    1,跨域携带cookie,加一个拦截器,能后加上request.credentials=true就可以了 Vue.http.interceptors.push(function(request, ne ...

  6. 调用父类构造器:super

    import static java.lang.System.*; class Base{ public String name; public double weight; public Base( ...

  7. WCF TOOL CODE

    .HTML <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WCFTool. ...

  8. stl学习记录(1)

    Effective STL 中文版学习记录 条款4 判断容器是否为空 使用empty而不是size().size()操作在实现上不是一个时间常数操作条款5 尽量使用区间成员函数代替它们的单元素兄弟.S ...

  9. linux小白

    1. linux下加域名. 文件是在/etc/hosts    中间加的tab键 192.168.0.1 baidu.com linux下测试网页可以用 wget www.baidu.com  这个命 ...

  10. 2018.09.26 洛谷P2464 [SDOI2008]郁闷的小J(map+vector)

    传送门 本来出题人出出来想考数据结构的. 但是我们拥有map+vector/set这样优秀的STL,因此直接用map离散化,vector存下标在里面二分找答案就行了. 代码: #include< ...