zoukankan      html  css  js  c++  java
  • SQL语法常用函数及高级查询

    基本增删改查

    1.新增INSERT  基本语法

    INSERT INTO [TABLE_NAME](表名) (column1, column2, column3,...columnN) VALUES (value1, value2, value3,...valueN)

    INSERT INTO Student(NAME,AGE,HEIGHT) VALUES('布朗尼',18,'180')

    ———————————————————————————————————————————————————————————————————————————————————————————————————————

    2.查询SELECT 基本语法

    SELECT * FROM TABLE_NAME   SELECT COLUMN,COLUMN2,COLUMN3 FROM TABLE_NAME

    SELECT * FROM STUDENT  *号直接查询当前列表所有行 可以直接查询需要显示的行数    

    ———————————————————————————————————————————————————————————————————————————————————————————————————————

    3.删除DELETE基本语法

    DELETE FROM TABLE_NAME WHERE COLUMNX=‘条件’    如果不加条件   会删除列表所有信息,开发谨慎使用

    DELETE FROM STUDENT WHERE NAME='乔丹' 

     ——————————————————————————————————————————————————————————————————————————————————————————————————————

    3.修改UPDATE基本语法

    UPDATE TABLE_NAME SET COLUMNX='',COLUMNX2=‘’ WHERE COLUMNX3=''      where后面加条件语句    UPDATE 后面直接+表名 不能加FROM

    UPDATE STUDENT SET AGE=100 WHERE NAME='科比'

    ——————————————————————————————————————————————————————————————————————————————————————————————————————

    部分函数介绍

    --substring(字段名,n,m)  分割字符串 某个字段 街区 从 第n位字符 到后面m个字符
    select SUBSTRING(NAME,1,3),NAME from Student where ID=1    

    ——————————————————————————————————————————————————————————————————————————————————————————————————————

    --STUFF(str1,n,m,str2)    第一个子串 从第n位删除 m位数 插入 第二个字符串
    select STUFF(NAME,2,1,'qqqqq'), Name from Student where ID=1    

    ——————————————————————————————————————————————————————————————————————————————————————————————————————

    --left 函数     left(字段,N个数) 从左边开始N个字符
    select left(NAME,4),NAME from Student where ID=1 

    ——————————————————————————————————————————————————————————————————————————————————————————————————————

    --right 函数 right(字段,N个数) 从右边开始N个字符
    select right(NAME,4),NAME from Student where ID=1

    ——————————————————————————————————————————————————————————————————————————————————————————————————————

    --REPLICATE 函数 以指定次数重复字符表达式

    select REPLICATE(NAME,3),NAME from Student where ID=1

    ——————————————————————————————————————————————————————————————————————————————————————————————————————

    -- ltrim和rtrim函数 删除左边空格和右面空格  TRIM 去中间空格  2017SQl才能使用

    select LTRIM(NAME),RTRIM(NAME),TRIM(NAME),NAME from Student where ID=1

     

    ——————————————————————————————————————————————————————————————————————————————————————————————————

    --reverse函数 将字符串反转
    select REVERSE(NAME),NAME from Student where ID=1

     

    高级查询介绍

    子查询

    1.作为查询条件使用  where

     子查询作为条件  查询学号在杜兰特前边的同学

      select * from Student where ID < (select ID from Student where NAME='杜兰特')

     ——————————————————————————————————————————————————————————————————————————————————————————————————

    2.作为临时表使用  from

    select * from
    (select * from Student where NAME='乔丹') s1,
    (select * from StudentScore where SCORE<100) s2 where s1.ID=s2.STUDENTID 

     ——————————————————————————————————————————————————————————————————————————————————————————————————

    3.使用EXISTS和NOT EXISTS子查询

    1.EXISTSNOT EXISTS表示存在不存在的意思

    2.在语句中会判断EXISTS和NOT EXISTS后接的子句是否存在和是否存在

    3.NOT EXISTS的用法与EXISTS一样,唯一的区别就是意义相反。

    --查询存在分数>70的学员的信息
    SELECT * FROM Student inner join StudentScore on Student.ID=StudentScore.STUDENTID
    WHERE EXISTS (SELECT * FROM StudentScore WHERE StudentScore.STUDENTID = Student.ID and StudentScore.SCORE>70)

    --查询存在分数<=70的学员的信息

    SELECT * FROM Student inner join StudentScore on Student.ID=StudentScore.STUDENTID
    WHERE not EXISTS (SELECT * FROM StudentScore WHERE StudentScore.STUDENTID = Student.ID and StudentScore.SCORE>=70)

     —————————————————————————————————————————————————————————————————————————————————————————————————

    可能有人没看懂  inner join   内连接

    SELECT * FROM Student inner join StudentScore on Student.ID=StudentScore.STUDENTID

    两个表中 有关联的id进行连接   学生表 和学生成绩表   主外键关系

    ———————————————————————————————————————————————————————————————————————————————————————————————————————

     

  • 相关阅读:
    eclipse中向左缩进快捷键
    如何在Eclipse RCP中使用第三方包
    Eclipse RCP中Viewer交互的三种方式/Make your Eclipse applications richer with view linking
    【技术应用】vs2010 BCGControlBar 静态链编 link2001
    【技术应用】网页信息抓取与分析概要
    【技术应用】vs2010 libjingle login例子
    【技术应用】visual studio 2010 + chromium 更改代码 去掉地址栏
    【敏捷开发实践】起航
    【技术应用】vs2010 下编译 libjingle 库
    【技术应用】visual studio 2010 + chromium 下载编译
  • 原文地址:https://www.cnblogs.com/wangyihui/p/12553222.html
Copyright © 2011-2022 走看看