
SQL
文章平均质量分 71
bingbangx
唯一不变的就是变
展开
-
sql查询数据库表名
查询数据库里所有表名和字段名的语句SQL 查询所有表名:SELECT NAME FROM SYSOBJECTS WHERE TYPE='U'SELECT * FROM INFORMATION_SCHEMA.TABLES查询表的所有字段名:SELECT NAME FROM SYSCOLUMNS WHERE ID=OBJECT_ID(' 表名' )SELECT * FROM INFORMATION_SCHEMA.TABLESSELECT * FROM INFORMATION_SCHEMA.VIEWS转载 2021-06-30 13:44:17 · 6163 阅读 · 0 评论 -
MySQL,字符函数用法
① length 获取参数值的字节个数 SELECT LENGTH('join'); 4 SELECT LENGTH('张三丰hahaha'); 15 show vairables like '%char%';显示客户端使用的字符集 utf8下一个英文字母占一个字节,一个汉字占3个字节; ② concat 拼接字符串 SELECT CONCAT (last_name,'_',first_name) FROM emplo...原创 2020-09-27 18:04:17 · 151 阅读 · 0 评论 -
MySQL,replace()函数
语法REPLACE ( string_expression , string_pattern , string_replacement )参数string_expression 要搜索的字符串表达式。string_expression 可以是字符或二进制数据类型。string_pattern 是要查找的子字符串。string_pattern 可以是字符或二进制数据类型。string_pattern 不能是空字符串 ('')。string_replacement 替换字符串。string_repla原创 2020-09-27 17:54:25 · 199 阅读 · 0 评论 -
牛客网,给出每个员工每年薪水涨幅超过5000的员工编号
题目描述给出每个员工每年薪水涨幅超过5000的员工编号emp_no、薪水变更开始日期from_date以及薪水涨幅值salary_growth,并按照salary_growth逆序排列。提示:在sqlite中获取datetime时间对应的年份函数为strftime('%Y', to_date)(数据保证每个员工的每条薪水记录to_date-from_date=1年,而且同一员工的下一条薪水记录from_data=上一条薪水记录的to_data)CREATE TABLE `salaries`原创 2020-08-27 16:36:15 · 237 阅读 · 0 评论 -
牛客网,所有员工的当前薪水按照按照salary进行1~N的排名
题目描述对所有员工的当前(to_date='9999-01-01')薪水按照salary进行按照1-N的排名,相同salary并列且按照emp_no升序排列CREATE TABLE `salaries` (`emp_no` int(11) NOT NULL,`salary` int(11) NOT NULL,`from_date` date NOT NULL,`to_date` date NOT NULL,PRIMARY KEY (`emp_no`,`from_date`));输入描述:原创 2020-08-26 18:31:52 · 189 阅读 · 0 评论 -
牛客网,查找所有员工自入职以来的薪水涨幅情况
题目描述查找所有员工自入职以来的薪水涨幅情况,给出员工编号emp_no以及其对应的薪水涨幅growth,并按照growth进行升序(注:可能有employees表和salaries表里存在记录的员工,有对应的员工编号和涨薪记录,但是已经离职了,离职的员工salaries表的最新的to_date!='9999-01-01',这样的数据不显示在查找结果里面)CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date原创 2020-08-26 17:28:53 · 171 阅读 · 0 评论 -
SQL,判断获取的数字是奇数还是偶数
题目描述查找employees表所有emp_no为奇数,且last_name不为Mary(注意大小写)的员工信息,并按照hire_date逆序排列(题目不能使用mod函数)CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL,`first_name` varchar(14) NOT NULL,`last_name` varchar(16) NOT NULL,`gender` char(1)原创 2020-08-25 14:10:02 · 4643 阅读 · 0 评论 -
SQL查询知识点总结
转载于:https://zhuanlan.zhihu.com/p/113005033仅用于学习,如有侵权,请联系我。数据库基础知识什么是数据库?什么是是sql?数据库database:用于存放数据的容器(一个文件或者一组文件)。区别于数据库管理软件(DBMS-database management system)。SQL:数据库查询语言,Structured Query Language的简称。SQL语言是用于操纵数据库软件的语言。(为什么要使用数据库?数据库比excel有更多的优点:数据库转载 2020-08-25 11:43:27 · 1702 阅读 · 0 评论 -
牛客网,获取所有部门当前员工薪水最高的相关信息(薪水最高的可能有多条)
题目描述获取所有部门中当前(dept_emp.to_date = '9999-01-01')员工当前(salaries.to_date='9999-01-01')薪水最高的相关信息,给出dept_no, emp_no以及其对应的salary,按照部门升序排列。CREATE TABLE `dept_emp` (`emp_no` int(11) NOT NULL,`dept_no` char(4) NOT NULL,`from_date` date NOT NULL,`to_date` date原创 2020-08-25 11:19:05 · 197 阅读 · 0 评论 -
SQL查询表中符合条件的第二条记录的方法
创建用到的表的SQLCREATE TABLE [dbo].[emp_pay]( [employeeID] [int] NOT NULL, [base_pay] [money] NOT NULL, [commission] [decimal](2, 2) NOT NULL) ON [PRIMARY]生成的表,及表中的数据:--方法一select top 1 * from( SELECT TOP 2 * FROM [db..转载 2020-08-24 15:43:55 · 5063 阅读 · 0 评论 -
Mysql,timestampdiff()函数
mysql中用于计算两个日期的时间差函数timestampdiff()用法:语法:TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)unit:时间类型;datetime_expr1:开始时间;datetime_expr2:结束时间)结果是:结束时间-开始时间时间类型包括:year,month,day,hour,minute,second如:select a.call_time,a.grab_time,TIMESTAMPDIFF(m原创 2020-08-20 23:59:21 · 1124 阅读 · 0 评论 -
mysql中date_add与date_sub函数的使用
下面是关于两种的函数在MySQL中的用法:在Mysql中,date_add与date_sub分别是指对于日期的一个加减操作。date_add是指从日期中加上指定的时间间隔;date_sub是指从日期中减去指定的时间间隔。mysql 中 DATE_ADD(date,INTERVAL expr type) 和 DATE_SUB(date,INTERVAL expr type)这些函数执行日期运算。 date 是一个 DATETIME 或DATE值,用来指定起始时间。 expr 是一个表达式,用.转载 2020-08-20 22:30:45 · 1679 阅读 · 0 评论 -
Mysql,sum(if())及count(if())
SELECT SUM(extcredits1) AS e1 FROM test;SELECT SUM(if(category=1,size,0)) ,COUNT(if(category=1,true,null)) FORM t_file;解析:sum(if(category=1,size,0))sum函数返回一个值类型的数值,如果category=1,则返回size,如果category不等于1就返回0。 count(if(category=1,true,null))...转载 2020-08-20 23:11:25 · 261 阅读 · 0 评论