วันอาทิตย์ที่ 14 ธันวาคม พ.ศ. 2557

คำสั่ง sql

SQL SELECT
เป็นคำสั่งที่ใช้สำหรับการเรียกดูข้อมูลในตาราง (Table) คำสั่ง SQL SELECT สามารถเรียกได้ทั้งตาราง หรือว่า สามารถระบุฟิวด์ที่ต้องการเรียกดูข้อมูลได้

Database : MySQL,Microsoft Access,SQL Server,Oracle

Syntax

SELECT Column1, Column2, Column3,... FROM [Table-Name]


Table : customer
CustomerID
Name
Email
CountryCode
Budget
Used
C001
Win Weerachai
win.weerachai@thaicreate.com
TH
1000000
600000
C002
John Smith
john.smith@thaicreate.com
EN
2000000
800000
C003
Jame Born
jame.born@thaicreate.com
US
3000000
600000
C004
Chalee Angel
chalee.angel@thaicreate.com
US
4000000
100000


Sample1 การเลือกข้อมูลที่ระบุฟิวด์

SELECT CustomerID, Name, Email FROM customer

Output

CustomerID
Name
Email
C001
Win Weerachai
win.weerachai@thaicreate.com
C002
John Smith
john.smith@thaicreate.com
C003
Jame Born
jame.born@thaicreate.com
C004
Chalee Angel
chalee.angel@thaicreate.com



Sample2 การเลือกข้อมูลทั้งหมดของ Table

SELECT * FROM customer

Output

CustomerID
Name
Email
CountryCode
Budget
Used
C001
Win Weerachai
win.weerachai@thaicreate.com
TH
1000000
600000
C002
John Smith
john.smith@thaicreate.com
EN
2000000
800000
C003
Jame Born
jame.smith@thaicreate.com
US
3000000
600000
C004
Chalee Angel
chalee.angel@thaicreate.com
US
4000000
100000



SQL WHERE 
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Tableคำสั่ง SQL WHERE สามารถระบุเงื่อนไขในการเลือกข้อมูลได้ 1 เงื่อนไข หรือมากกว่า 1 เงื่อนไข

Database : MySQL,Microsoft Access,SQL Server,Oracle

Syntax


SELECT Column1, Column2, Column3,... FROM Table-Name WHERE [Field] = 'Value'


Table : customer
CustomerID
Name
Email
CountryCode
Budget
Used
C001
Win Weerachai
win.weerachai@thaicreate.com
TH
1000000
600000
C002
John Smith
john.smith@thaicreate.com
EN
2000000
800000
C003
Jame Born
jame.born@thaicreate.com
US
3000000
600000
C004
Chalee Angel
chalee.angel@thaicreate.com
US
4000000
100000


Sample1 การเลือกข้อมูลโดยใช้ Operators = (เท่ากับ)


SELECT * FROM customer WHERE CountryCode = 'US'
หรือ แบบ 2 เงื่อนไข ใช้ and เข้ามาเชื่อม วลี
SELECT * FROM customer WHERE CountryCode = 'US' and Budget = '4000000'

Output


CustomerID
Name
Email
CountryCode
Budget
Used
C003
Jame Born
jame.smith@thaicreate.com
US
3000000
600000
C004
Chalee Angel
chalee.angel@thaicreate.com
US
4000000
100000

CustomerID
Name
Email
CountryCode
Budget
Used
C004
Chalee Angel
chalee.angel@thaicreate.com
US
4000000
100000


Sample2 การเลือกข้อมูลโดยใช้ Operators != (ไม่เท่ากับ)


SELECT * FROM customer WHERE CountryCode != 'US'
หรือ แบบ 2 เงื่อนไข ใช้ and เข้ามาเชื่อม วลี
SELECT * FROM customer WHERE CountryCode != 'US' and CountryCode != 'EN'
หรือจะใช้ or
SELECT * FROM customer WHERE CountryCode != 'US' or Budget = '1000000'

Output


CustomerID
Name
Email
CountryCode
Budget
Used
C001
Win Weerachai
win.weerachai@thaicreate.com
TH
1000000
600000
C002
John Smith
john.smith@thaicreate.com
EN
2000000
800000

CustomerID
Name
Email
CountryCode
Budget
Used
C001
Win Weerachai
win.weerachai@thaicreate.com
TH
1000000
600000

CustomerID
Name
Email
CountryCode
Budget
Used
C001
Win Weerachai
win.weerachai@thaicreate.com
TH
1000000
600000
C002
John Smith
john.smith@thaicreate.com
EN
2000000
800000


SQL LAST 
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Tableโดยเลือกข้อมูล แถวสุดท้ายของข้อมูลที่พบ

Database : MySQL,Microsoft Access,SQL Server,Oracle

Syntax


SELECT LAST(ColumnName) FROM TableName


Table : customer
CustomerID
Name
Email
CountryCode
Budget
Used
C001
Win Weerachai
win.weerachai@thaicreate.com
TH
1000000
600000
C002
John Smith
john.smith@thaicreate.com
EN
2000000
800000
C003
Jame Born
jame.born@thaicreate.com
US
3000000
600000
C004
Chalee Angel
chalee.angel@thaicreate.com
US
4000000
100000


Sample1 การเลือกข้อมูลแบบด้วย LAST ในตาราง customer


SELECT LAST(Name) As Name FROM customer

Output


Name
Chalee Angel

SQL AS 
เป็นคำสั่งที่ใช้สำหรับการเลือกข้อมูลโดยทำการสร้าง Alias Name (Column) ขึ้นมาใหม่

Database : MySQL,Microsoft Access,SQL Server,Oracle

Syntax


SELECT Column As NewColumn FROM Table1


Table : customer1
CustomerID
Name
Email
CountryCode
Budget
Used
C001
Win Weerachai
win.weerachai@thaicreate.com
TH
1000000
600000
C002
John Smith
john.smith@thaicreate.com
EN
2000000
800000
C003
Jame Born
jame.born@thaicreate.com
US
3000000
600000
C004
Chalee Angel
chalee.angel@thaicreate.com
US
4000000
100000


Sample1 การรวมค่า Used แล้วสร้างชื่อ Column ใหม่ชื่อว่า Total


SELECT SUM(Used) As Total FROM customer

Output


Total
2100000


SQL ORACLE RESERVED WORDS / Keywords
เป็นคำสงวนหลีกเลี่ยงห้ามใช้ ในฐานข้อมูล Oracle Database

Database : Oracle,


คำสงวนทั้งหมด


Oracle Reserved Words and Keywords
ACCESS
ACCOUNT
ACTIVATE
ADD
ADMIN
ADVISE
AFTER
ALL
ALL_ROWS
ALLOCATE
ALTER
ANALYZE
AND
ANY
ARCHIVE
ARCHIVELOG
ARRAY
AS
ASC
AT
AUDIT
AUTHENTICATED
AUTHORIZATION
AUTOEXTEND
AUTOMATIC
BACKUP
BECOME
BEFORE
BEGIN
BETWEEN
BFILE
BITMAP
BLOB
BLOCK
BODY
BY
CACHE
CACHE_INSTANCES
CANCEL
CASCADE
CAST
CFILE
CHAINED
CHANGE
CHAR
CHAR_CS
CHARACTER
CHECK
CHECKPOINT
CHOOSE
CHUNK
CLEAR
CLOB
CLONE
CLOSE
CLOSE_CACHED_OPEN_CURSORS
CLUSTER
COALESCE
COLUMN
COLUMNS
COMMENT
COMMIT
COMMITTED
COMPATIBILITY
COMPILE
COMPLETE
COMPOSITE_LIMIT
COMPRESS
COMPUTE
CONNECT
CONNECT_TIME
CONSTRAINT
CONSTRAINTS
CONTENTS
CONTINUE
CONTROLFILE
CONVERT
COST
CPU_PER_CALL
CPU_PER_SESSION
CREATE
CURRENT
CURRENT_SCHEMA
CURREN_USER
CURSOR
CYCLE
DANGLING
DATABASE
DATAFILE
DATAFILES
DATAOBJNO
DATE
DBA
DBHIGH
DBLOW
DBMAC
DEALLOCATE
DEBUG
DEC
DECIMAL
DECLARE
DEFAULT
DEFERRABLE
DEFERRED
DEGREE
DELETE
DEREF
DESC
DIRECTORY
DISABLE
DISCONNECT
DISMOUNT
DISTINCT
DISTRIBUTED
DML
DOUBLE
DROP
DUMP
EACH
ELSE
ENABLE
END
ENFORCE
ENTRY
ESCAPE
EXCEPT
EXCEPTIONS
EXCHANGE
EXCLUDING
EXCLUSIVE
EXECUTE
EXISTS
EXPIRE
EXPLAIN
EXTENT
EXTENTS
EXTERNALLY
FAILED_LOGIN_ATTEMPTS
FALSE
FAST
FILE
FIRST_ROWS
FLAGGER
FLOAT
FLOB
FLUSH
FOR
FORCE
FOREIGN
FREELIST
FREELISTS
FROM
FULL
FUNCTION
GLOBAL
GLOBALLY
GLOBAL_NAME
GRANT
GROUP
GROUPS
HASH
HASHKEYS
HAVING
HEADER
HEAP
IDENTIFIED
IDGENERATORS
IDLE_TIME
IF
IMMEDIATE
IN
INCLUDING
INCREMENT
INDEX
INDEXED
INDEXES
INDICATOR
IND_PARTITION
INITIAL
INITIALLY
INITRANS
INSERT
INSTANCE
INSTANCES
INSTEAD
INT
INTEGER
INTERMEDIATE
INTERSECT
INTO
IS
ISOLATION
ISOLATION_LEVEL
KEEP
KEY
KILL
LABEL
LAYER
LESS
LEVEL
LIBRARY
LIKE
LIMIT
LINK
LIST
LOB
LOCAL
LOCK
LOCKED
LOG
LOGFILE
LOGGING
LOGICAL_READS_PER_CALL
LOGICAL_READS_PER_SESSION
LONG
MANAGE
MASTER
MAX
MAXARCHLOGS
MAXDATAFILES
MAXEXTENTS
MAXINSTANCES
MAXLOGFILES
MAXLOGHISTORY
MAXLOGMEMBERS
MAXSIZE
MAXTRANS
MAXVALUE
MIN
MEMBER
MINIMUM
MINEXTENTS
MINUS
MINVALUE
MLSLABEL
MLS_LABEL_FORMAT
MODE
MODIFY
MOUNT
MOVE
MTS_DISPATCHERS
MULTISET
NATIONAL
NCHAR
NCHAR_CS
NCLOB
NEEDED
NESTED
NETWORK
NEW
NEXT
NOARCHIVELOG
NOAUDIT
NOCACHE
NOCOMPRESS
NOCYCLE
NOFORCE
NOLOGGING
NOMAXVALUE
NOMINVALUE
NONE
NOORDER
NOOVERRIDE
NOPARALLEL
NOPARALLEL
NOREVERSE
NORMAL
NOSORT
NOT
NOTHING
NOWAIT
NULL
NUMBER
NUMERIC
NVARCHAR2
OBJECT
OBJNO
OBJNO_REUSE
OF
OFF
OFFLINE
OID
OIDINDEX
OLD
ON
ONLINE
ONLY
OPCODE
OPEN
OPTIMAL
OPTIMIZER_GOAL
OPTION
OR
ORDER
ORGANIZATION
OSLABEL
OVERFLOW
OWN
PACKAGE
PARALLEL
PARTITION
PASSWORD
PASSWORD_GRACE_TIME
PASSWORD_LIFE_TIME
PASSWORD_LOCK_TIME
PASSWORD_REUSE_MAX
PASSWORD_REUSE_TIME
PASSWORD_VERIFY_FUNCTION
PCTFREE
PCTINCREASE
PCTTHRESHOLD
PCTUSED
PCTVERSION
PERCENT
PERMANENT
PLAN
PLSQL_DEBUG
POST_TRANSACTION
PRECISION
PRESERVE
PRIMARY
PRIOR
PRIVATE
PRIVATE_SGA
PRIVILEGE
PRIVILEGES
PROCEDURE
PROFILE
PUBLIC
PURGE
QUEUE
QUOTA
RANGE
RAW
RBA
READ
READUP
REAL
REBUILD
RECOVER
RECOVERABLE
RECOVERY
REF
REFERENCES
REFERENCING
REFRESH
RENAME
REPLACE
RESET
RESETLOGS
RESIZE
RESOURCE
RESTRICTED
RETURN
RETURNING
REUSE
REVERSE
REVOKE
ROLE
ROLES
ROLLBACK
ROW
ROWID
ROWNUM
ROWS
RULE
SAMPLE
SAVEPOINT
SB4
SCAN_INSTANCES
SCHEMA
SCN
SCOPE
SD_ALL
SD_INHIBIT
SD_SHOW
SEGMENT
SEG_BLOCK
SEG_FILE
SELECT
SEQUENCE
SERIALIZABLE
SESSION
SESSION_CACHED_CURSORS
SESSIONS_PER_USER
SET
SHARE
SHARED
SHARED_POOL
SHRINK
SIZE
SKIP
SKIP_UNUSABLE_INDEXES
SMALLINT
SNAPSHOT
SOME
SORT
SPECIFICATION
SPLIT
SQL_TRACE
STANDBY
START
STATEMENT_ID
STATISTICS
STOP
STORAGE
STORE
STRUCTURE
SUCCESSFUL
SWITCH
SYS_OP_ENFORCE_NOT_NULL$
SYS_OP_NTCIMG$
SYNONYM
SYSDATE
SYSDBA
SYSOPER
SYSTEM
TABLE
TABLES
TABLESPACE
TABLESPACE_NO
TABNO
TEMPORARY
THAN
THE
THEN
THREAD
TIMESTAMP
TIME
TO
TOPLEVEL
TRACE
TRACING
TRANSACTION
TRANSITIONAL
TRIGGER
TRIGGERS
TRUE
TRUNCATE
TX
TYPE
UB2
UBA
UID
UNARCHIVED
UNDO
UNION
UNIQUE
UNLIMITED
UNLOCK
UNRECOVERABLE
UNTIL
UNUSABLE
UNUSED
UPDATABLE
UPDATE
USAGE
USE
USER
USING
VALIDATE
VALIDATION
VALUE
VALUES
VARCHAR
VARCHAR2
VARYING
VIEW
WHEN
WHENEVER
WHERE
WITH
WITHOUT
WORK
WRITE
WRITEDOWN
WRITEUP
XID
YEAR
ZONE


SQL MYSQL RESERVED WORDS
เป็นคำสงวนที่ห้ามใช้ ในฐานข้อมูล MySQL หรือสามารถใช้โดยการครอบด้วยเครื่องหมาย `wording`

Database : MySQL,

Syntax
SELECT FROM `order` ....


คำสงวนทั้งหมด

ACCESSIBLE
ADD
ALL
ALTER
ANALYZE
AND
AS
ASC
ASENSITIVE
BEFORE
BETWEEN
BIGINT
BINARY
BLOB
BOTH
BY
CALL
CASCADE
CASE
CHANGE
CHAR
CHARACTER
CHECK
COLLATE
COLUMN
CONDITION
CONSTRAINT
CONTINUE
CONVERT
CREATE
CROSS
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURRENT_USER
CURSOR
DATABASE
DATABASES
DAY_HOUR
DAY_MICROSECOND
DAY_MINUTE
DAY_SECOND
DEC
DECIMAL
DECLARE
DEFAULT
DELAYED
DELETE
DESC
DESCRIBE
DETERMINISTIC
DISTINCT
DISTINCTROW
DIV
DOUBLE
DROP
DUAL
EACH
ELSE
ELSEIF
ENCLOSED
ESCAPED
EXISTS
EXIT
EXPLAIN
FALSE
FETCH
FLOAT
FLOAT4
FLOAT8
FOR
FORCE
FOREIGN
FROM
FULLTEXT
GRANT
GROUP
HAVING
HIGH_PRIORITY
HOUR_MICROSECOND
HOUR_MINUTE
HOUR_SECOND
IF
IGNORE
IN
INDEX
INFILE
INNER
INOUT
INSENSITIVE
INSERT
INT
INT1
INT2
INT3
INT4
INT8
INTEGER
INTERVAL
INTO
IS
ITERATE
JOIN
KEY
KEYS
KILL
LEADING
LEAVE
LEFT
LIKE
LIMIT
LINEAR
LINES
LOAD
LOCALTIME
LOCALTIMESTAMP
LOCK
LONG
LONGBLOB
LONGTEXT
LOOP
LOW_PRIORITY
MASTER_SSL_VERIFY_SERVER_CERT
MATCH
MAXVALUE
MEDIUMBLOB
MEDIUMINT
MEDIUMTEXT
MIDDLEINT
MINUTE_MICROSECOND
MINUTE_SECOND
MOD
MODIFIES
NATURAL
NOT
NO_WRITE_TO_BINLOG
NULL
NUMERIC
ON
OPTIMIZE
OPTION
OPTIONALLY
OR
ORDER
OUT
OUTER
OUTFILE
PRECISION
PRIMARY
PROCEDURE
PURGE
RANGE
READ
READS
READ_WRITE
REAL
REFERENCES
REGEXP
RELEASE
RENAME
REPEAT
REPLACE
REQUIRE
RESIGNAL
RESTRICT
RETURN
REVOKE
RIGHT
RLIKE
SCHEMA
SCHEMAS
SECOND_MICROSECOND
SELECT
SENSITIVE
SEPARATOR
SET
SHOW
SIGNAL
SMALLINT
SPATIAL
SPECIFIC
SQL
SQLEXCEPTION
SQLSTATE
SQLWARNING
SQL_BIG_RESULT
SQL_CALC_FOUND_ROWS
SQL_SMALL_RESULT
SSL
STARTING
STRAIGHT_JOIN
TABLE
TERMINATED
THEN
TINYBLOB
TINYINT
TINYTEXT
TO
TRAILING
TRIGGER
TRUE
UNDO
UNION
UNIQUE
UNLOCK
UNSIGNED
UPDATE
USAGE
USE
USING
UTC_DATE
UTC_TIME
UTC_TIMESTAMP
VALUES
VARBINARY
VARCHAR
VARCHARACTER
VARYING
WHEN
WHERE
WHILE
WITH
WRITE
XOR
YEAR_MONTH
ZEROFILL

สำหรับ SQL กรณีที่ต้องการนำไปใช้


create database mytest;
use mytest;
create table reserved_words (reserved_word varchar(50));
create index reserved_words_1ix on reserved_words(reserved_word);
insert into reserved_words (reserved_word) values
('ACCESSIBLE'),
('ALTER'),
('AS'),
('BEFORE'),
('BINARY'),
('BY'),
('CASE'),
('CHARACTER'),
('COLUMN'),
('CONTINUE'),
('CROSS'),
('CURRENT_TIMESTAMP'),
('DATABASE'),
('DAY_MICROSECOND'),
('DEC'),
('DEFAULT'),
('DESC'),
('DISTINCT'),
('DOUBLE'),
('EACH'),
('ENCLOSED'),
('EXIT'),
('FETCH'),
('FLOAT8'),
('FOREIGN'),
('GRANT'),
('HIGH_PRIORITY'),
('HOUR_SECOND'),
('IN'),
('INNER'),
('INSERT'),
('INT2'),
('INT8'),
('INTO'),
('JOIN'),
('KILL'),
('LEFT'),
('LINEAR'),
('LOCALTIME'),
('LONG'),
('LOOP'),
('MATCH'),
('MEDIUMTEXT'),
('MINUTE_SECOND'),
('NATURAL'),
('NULL'),
('OPTIMIZE'),
('OR'),
('OUTER'),
('PRIMARY'),
('RANGE'),
('READ_WRITE'),
('REGEXP'),
('REPEAT'),
('RESTRICT'),
('RIGHT'),
('SCHEMAS'),
('SENSITIVE'),
('SHOW'),
('SPECIFIC'),
('SQLSTATE'),
('SQL_CALC_FOUND_ROWS'),
('STARTING'),
('TERMINATED'),
('TINYINT'),
('TRAILING'),
('UNDO'),
('UNLOCK'),
('USAGE'),
('UTC_DATE'),
('VALUES'),
('VARCHARACTER'),
('WHERE'),
('WRITE'),
('ZEROFILL'),
('ALL'),
('AND'),
('ASENSITIVE'),
('BIGINT'),
('BOTH'),
('CASCADE'),
('CHAR'),
('COLLATE'),
('CONSTRAINT'),
('CREATE'),
('CURRENT_TIME'),
('CURSOR'),
('DAY_HOUR'),
('DAY_SECOND'),
('DECLARE'),
('DELETE'),
('DETERMINISTIC'),
('DIV'),
('DUAL'),
('ELSEIF'),
('EXISTS'),
('FALSE'),
('FLOAT4'),
('FORCE'),
('FULLTEXT'),
('HAVING'),
('HOUR_MINUTE'),
('IGNORE'),
('INFILE'),
('INSENSITIVE'),
('INT1'),
('INT4'),
('INTERVAL'),
('ITERATE'),
('KEYS'),
('LEAVE'),
('LIMIT'),
('LOAD'),
('LOCK'),
('LONGTEXT'),
('MASTER_SSL_VERIFY_SERVER_CERT'),
('MEDIUMINT'),
('MINUTE_MICROSECOND'),
('MODIFIES'),
('NO_WRITE_TO_BINLOG'),
('ON'),
('OPTIONALLY'),
('OUT'),
('PRECISION'),
('PURGE'),
('READS'),
('REFERENCES'),
('RENAME'),
('REQUIRE'),
('REVOKE'),
('SCHEMA'),
('SELECT'),
('SET'),
('SPATIAL'),
('SQLEXCEPTION'),
('SQL_BIG_RESULT'),
('SSL'),
('TABLE'),
('TINYBLOB'),
('TO'),
('TRUE'),
('UNIQUE'),
('UPDATE'),
('USING'),
('UTC_TIMESTAMP'),
('VARCHAR'),
('WHEN'),
('WITH'),
('YEAR_MONTH'),
('ADD'),
('ANALYZE'),
('ASC'),
('BETWEEN'),
('BLOB'),
('CALL'),
('CHANGE'),
('CHECK'),
('CONDITION'),
('CONVERT'),
('CURRENT_DATE'),
('CURRENT_USER'),
('DATABASES'),
('DAY_MINUTE'),
('DECIMAL'),
('DELAYED'),
('DESCRIBE'),
('DISTINCTROW'),
('DROP'),
('ELSE'),
('ESCAPED'),
('EXPLAIN'),
('FLOAT'),
('FOR'),
('FROM'),
('GROUP'),
('HOUR_MICROSECOND'),
('IF'),
('INDEX'),
('INOUT'),
('INT'),
('INT3'),
('INTEGER'),
('IS'),
('KEY'),
('LEADING'),
('LIKE'),
('LINES'),
('LOCALTIMESTAMP'),
('LONGBLOB'),
('LOW_PRIORITY'),
('MEDIUMBLOB'),
('MIDDLEINT'),
('MOD'),
('NOT'),
('NUMERIC'),
('OPTION'),
('ORDER'),
('OUTFILE'),
('PROCEDURE'),
('READ'),
('REAL'),
('RELEASE'),
('REPLACE'),
('RETURN'),
('RLIKE'),
('SECOND_MICROSECOND'),
('SEPARATOR'),
('SMALLINT'),
('SQL'),
('SQLWARNING'),
('SQL_SMALL_RESULT'),
('STRAIGHT_JOIN'),
('THEN'),
('TINYTEXT'),
('TRIGGER'),
('UNION'),
('UNSIGNED'),
('USE'),
('UTC_TIME'),
('VARBINARY'),
('VARYING'),
('WHILE'),
('XOR')
;


SQL GROUP_CONCAT
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Tableโดยทำการ Group Column และนำข้อมูลที่อยู่ใน Groupเดียวกันมาต่อกันด้วยเครื่องหมายต่าง ๆ เช่น Comma (,)

Database : MySQL,

Syntax
SELECT GROUP_CONCAT(Column/Field) AS [New-Field] FROM [Table-Name] GROUP BY Column/Filed


Table : customer
CustomerID
Name
Email
CountryCode
Budget
Used
C001
Win Weerachai
win.weerachai@thaicreate.com
TH
1000000
600000
C002
John Smith
john.smith@thaicreate.com
EN
2000000
800000
C003
Jame Born
jame.born@thaicreate.com
US
3000000
600000
C004
Chalee Angel
chalee.angel@thaicreate.com
US
4000000
100000


Sample1 การเลือกข้อมูล ลูกค้า ในแต่ล่ะประเทศ และนำข้อมูลมาต่อกันด้วยเครื่องหมาย Comma (,)
SELECT CountryCode , GROUP_CONCAT(Name SEPARATOR ',') FROM customer GROUP BY CountryCode

Output 
CountryCode
Name
TH
Win Weerachai
EN
John Smith
US
Jame Born , Chalee Angel


SQL OPTIMIZE TABLE
เป็นคำสั่งที่ใช้ในการเพิ่มประสิทธิ์ภาพให้กับ Table ของฐานข้อมูล MySQL

Database : MySQL

Syntax


REPAIR OPTIMIZE `table-name`


SQL COPY TABLE (CREATE TABLE... SELECT...)
เป็นคำสั่งที่ใช้สำหรับสร้างตารางใหม่ โดยทำการ COPY/CREATE TABLE และข้อมูลจากตารางที่มีอยู่แล้ว

Database : MySQL,Microsoft Access,SQL Server,Oracle

Syntax


CREATE TABLE [Table-Name] SELECT * FROM [Table-Name] WHERE ....


Table : customer
CustomerID
Name
Email
CountryCode
Budget
Used
C001
Win Weerachai
win.weerachai@thaicreate.com
TH
1000000
600000
C002
John Smith
john.smith@thaicreate.com
EN
2000000
800000
C003
Jame Born
jame.born@thaicreate.com
US
3000000
600000
C004
Chalee Angel
chalee.angel@thaicreate.com
US
4000000
100000


Sample1 การเพิ่มข้อมูลลงใน Table customer2 โดยการ SELECT จาก customer


CREATE TABLE customer2 SELECT * FROM customer

Output (Table : customer2)


CustomerID
Name
Email
CountryCode
Budget
Used
C001
Win Weerachai
win.weerachai@thaicreate.com
TH
1000000
600000
C002
John Smith
john.smith@thaicreate.com
EN
2000000
800000
C003
Jame Born
jame.born@thaicreate.com
US
3000000
600000
C004
Chalee Angel
chalee.angel@thaicreate.com
US
4000000
100000


MYSQL ADDDATE()
เป็นคำสั่งของ MySQL กับ DateTime โดย ADDDATE ใช้ในการหา เพิ่มหรอลดค่าของวันที่

Database : MySQL

Syntax


ADDDATE(date,INTERVAL expr unit), ADDDATE(expr,days)

expr argument for each unit value.
unit Value
Expected expr Format
MICROSECOND
MICROSECONDS
SECOND
SECONDS
MINUTE
MINUTES
HOUR
HOURS
DAY
DAYS
WEEK
WEEKS
MONTH
MONTHS
QUARTER
QUARTERS
YEAR
YEARS
SECOND_MICROSECOND
'SECONDS.MICROSECONDS'
MINUTE_MICROSECOND
'MINUTES:SECONDS.MICROSECONDS'
MINUTE_SECOND
'MINUTES:SECONDS'
HOUR_MICROSECOND
'HOURS:MINUTES:SECONDS.MICROSECONDS'
HOUR_SECOND
'HOURS:MINUTES:SECONDS'
HOUR_MINUTE
'HOURS:MINUTES'
DAY_MICROSECOND
'DAYS HOURS:MINUTES:SECONDS.MICROSECONDS'
DAY_SECOND
'DAYS HOURS:MINUTES:SECONDS'
DAY_MINUTE
'DAYS HOURS:MINUTES'
DAY_HOUR
'DAYS HOURS'
YEAR_MONTH
'YEARS-MONTHS'

ทั้งนี้ยังสามารถใช้ INTERVAL เข้ามา + หรือ - ค่าวันที่ได้เช่นเดียวกัน 
date + INTERVAL expr unit
date - INTERVAL expr unit


Sample


SELECT ADDDATE('2008-01-02', INTERVAL 31 DAY);
-> 2008-02-02

SELECT ADDDATE('2008-01-02', 31);
-> 2008-02-02


MYSQL DATE_ADD() , DATE_SUB()





ที่มา ; http://www.thaicreate.com/tutorial/mysql-adddate.html

ไม่มีความคิดเห็น:

แสดงความคิดเห็น